@pnp/cli-microsoft365 5.9.0-beta.850564a → 5.9.0-beta.c14dbbc

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 (517) hide show
  1. package/.eslintrc.js +13 -0
  2. package/README.md +5 -0
  3. package/dist/Auth.js +4 -4
  4. package/dist/Command.js +8 -8
  5. package/dist/api.js +3 -3
  6. package/dist/appInsights.js +2 -0
  7. package/dist/cli/Cli.js +6 -4
  8. package/dist/index.js +2 -2
  9. package/dist/m365/aad/commands/app/app-add.js +4 -3
  10. package/dist/m365/aad/commands/app/app-get.js +3 -3
  11. package/dist/m365/aad/commands/app/app-remove.js +5 -5
  12. package/dist/m365/aad/commands/app/app-role-list.js +2 -2
  13. package/dist/m365/aad/commands/app/app-role-remove.js +4 -4
  14. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +4 -4
  15. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +3 -3
  16. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +6 -6
  17. package/dist/m365/aad/commands/group/group-list.js +2 -2
  18. package/dist/m365/aad/commands/groupsetting/groupsetting-add.js +2 -2
  19. package/dist/m365/aad/commands/groupsetting/groupsetting-get.js +2 -2
  20. package/dist/m365/aad/commands/groupsetting/groupsetting-list.js +2 -2
  21. package/dist/m365/aad/commands/groupsetting/groupsetting-remove.js +4 -4
  22. package/dist/m365/aad/commands/groupsetting/groupsetting-set.js +2 -2
  23. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-get.js +4 -3
  24. package/dist/m365/aad/commands/groupsettingtemplate/groupsettingtemplate-list.js +2 -2
  25. package/dist/m365/aad/commands/o365group/o365group-add.js +2 -2
  26. package/dist/m365/aad/commands/o365group/o365group-conversation-list.js +4 -3
  27. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +4 -3
  28. package/dist/m365/aad/commands/o365group/o365group-get.js +2 -2
  29. package/dist/m365/aad/commands/o365group/o365group-list.js +2 -2
  30. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-clear.js +4 -4
  31. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +2 -2
  32. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-remove.js +7 -6
  33. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-restore.js +5 -4
  34. package/dist/m365/aad/commands/o365group/o365group-remove.js +4 -4
  35. package/dist/m365/aad/commands/o365group/o365group-renew.js +2 -2
  36. package/dist/m365/aad/commands/o365group/o365group-set.js +2 -2
  37. package/dist/m365/aad/commands/o365group/o365group-teamify.js +2 -2
  38. package/dist/m365/aad/commands/o365group/o365group-user-add.js +3 -3
  39. package/dist/m365/aad/commands/o365group/o365group-user-list.js +5 -4
  40. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +5 -5
  41. package/dist/m365/aad/commands/o365group/o365group-user-set.js +6 -5
  42. package/dist/m365/aad/commands/oauth2grant/oauth2grant-add.js +3 -3
  43. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +2 -2
  44. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +2 -2
  45. package/dist/m365/aad/commands/siteclassification/siteclassification-disable.js +2 -2
  46. package/dist/m365/aad/commands/sp/sp-add.js +3 -3
  47. package/dist/m365/aad/commands/sp/sp-get.js +3 -3
  48. package/dist/m365/aad/commands/user/user-get.js +2 -2
  49. package/dist/m365/aad/commands/user/user-hibp.js +2 -2
  50. package/dist/m365/aad/commands/user/user-list.js +2 -2
  51. package/dist/m365/aad/commands/user/user-set.js +2 -2
  52. package/dist/m365/aad/commands/user/user-signin-list.js +5 -4
  53. package/dist/m365/app/commands/app-get.js +2 -2
  54. package/dist/m365/app/commands/app-open.js +2 -2
  55. package/dist/m365/app/commands/permission/permission-list.js +2 -2
  56. package/dist/m365/base/AppCommand.js +4 -4
  57. package/dist/m365/booking/commands/business/business-list.js +2 -2
  58. package/dist/m365/cli/commands/cli-doctor.js +4 -4
  59. package/dist/m365/cli/commands/cli-reconsent.js +2 -2
  60. package/dist/m365/cli/commands/config/config-get.js +2 -2
  61. package/dist/m365/cli/commands/config/config-reset.js +3 -3
  62. package/dist/m365/cli/commands/config/config-set.js +2 -2
  63. package/dist/m365/commands/status.js +3 -3
  64. package/dist/m365/file/commands/file-add.js +3 -3
  65. package/dist/m365/file/commands/file-list.js +4 -3
  66. package/dist/m365/flow/commands/flow-export.js +2 -2
  67. package/dist/m365/flow/commands/flow-remove.js +4 -4
  68. package/dist/m365/flow/commands/run/run-cancel.js +4 -4
  69. package/dist/m365/flow/commands/run/run-resubmit.js +4 -4
  70. package/dist/m365/graph/commands/changelog/changelog-list.js +5 -4
  71. package/dist/m365/graph/commands/schemaextension/schemaextension-add.js +2 -2
  72. package/dist/m365/graph/commands/schemaextension/schemaextension-list.js +2 -2
  73. package/dist/m365/graph/commands/schemaextension/schemaextension-remove.js +2 -2
  74. package/dist/m365/graph/commands/schemaextension/schemaextension-set.js +2 -2
  75. package/dist/m365/graph/commands/subscription/subscription-add.js +2 -2
  76. package/dist/m365/onedrive/commands/onedrive-list.js +3 -3
  77. package/dist/m365/onenote/commands/notebook/notebook-list.js +5 -4
  78. package/dist/m365/outlook/commands/message/message-list.js +2 -2
  79. package/dist/m365/outlook/commands/room/room-list.js +2 -2
  80. package/dist/m365/outlook/commands/roomlist/roomlist-list.js +2 -2
  81. package/dist/m365/pa/commands/app/app-get.js +4 -4
  82. package/dist/m365/pa/commands/app/app-list.js +2 -2
  83. package/dist/m365/pa/commands/app/app-remove.js +4 -4
  84. package/dist/m365/pa/commands/connector/connector-list.js +2 -2
  85. package/dist/m365/pa/commands/pcf/pcf-init.js +4 -4
  86. package/dist/m365/pa/commands/solution/solution-init.js +2 -2
  87. package/dist/m365/planner/commands/bucket/bucket-add.js +4 -3
  88. package/dist/m365/planner/commands/bucket/bucket-get.js +4 -3
  89. package/dist/m365/planner/commands/bucket/bucket-list.js +6 -4
  90. package/dist/m365/planner/commands/bucket/bucket-remove.js +6 -5
  91. package/dist/m365/planner/commands/bucket/bucket-set.js +4 -3
  92. package/dist/m365/planner/commands/plan/plan-add.js +9 -6
  93. package/dist/m365/planner/commands/plan/plan-get.js +4 -3
  94. package/dist/m365/planner/commands/plan/plan-list.js +4 -3
  95. package/dist/m365/planner/commands/plan/plan-remove.js +6 -5
  96. package/dist/m365/planner/commands/task/task-add.js +9 -7
  97. package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -2
  98. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +2 -2
  99. package/dist/m365/planner/commands/task/task-get.js +4 -3
  100. package/dist/m365/planner/commands/task/task-list.js +11 -9
  101. package/dist/m365/planner/commands/task/task-reference-add.js +2 -2
  102. package/dist/m365/planner/commands/task/task-reference-list.js +2 -2
  103. package/dist/m365/planner/commands/task/task-reference-remove.js +4 -4
  104. package/dist/m365/planner/commands/task/task-remove.js +8 -6
  105. package/dist/m365/planner/commands/task/task-set.js +9 -7
  106. package/dist/m365/planner/commands/tenant/tenant-settings-set.js +2 -2
  107. package/dist/m365/pp/commands/dataverse/dataverse-table-list.js +75 -0
  108. package/dist/m365/pp/commands/managementapp/managementapp-add.js +3 -3
  109. package/dist/m365/pp/commands/managementapp/managementapp-list.js +2 -2
  110. package/dist/m365/pp/commands/solution/Solution.js +3 -0
  111. package/dist/m365/pp/commands/solution/solution-list.js +87 -0
  112. package/dist/m365/pp/commands/tenant/tenant-settings-list.js +45 -0
  113. package/dist/m365/pp/commands.js +4 -1
  114. package/dist/m365/search/commands/externalconnection/externalconnection-list.js +2 -2
  115. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +2 -2
  116. package/dist/m365/spfx/commands/package/package-generate.js +4 -4
  117. package/dist/m365/spfx/commands/project/base-project-command.js +19 -18
  118. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001008_DEP_react.js +2 -2
  119. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001009_DEP_react_dom.js +2 -2
  120. package/dist/m365/spfx/commands/project/project-doctor/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  121. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002015_DEVDEP_types_react.js +2 -2
  122. package/dist/m365/spfx/commands/project/project-doctor/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  123. package/dist/m365/spfx/commands/project/project-doctor.js +7 -7
  124. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001005_DEP_types_react.js +2 -2
  125. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001006_DEP_types_react_dom.js +2 -2
  126. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001008_DEP_react.js +2 -2
  127. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001009_DEP_react_dom.js +2 -2
  128. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001015_DEP_types_react_addons_shallow_compare.js +2 -2
  129. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001016_DEP_types_react_addons_update.js +2 -2
  130. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001017_DEP_types_react_addons_update.js +2 -2
  131. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001019_DEP_knockout.js +2 -2
  132. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001020_DEP_types_knockout.js +2 -2
  133. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN001022_DEP_office_ui_fabric_react.js +2 -2
  134. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002015_DEVDEP_types_react.js +2 -2
  135. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002016_DEVDEP_types_react_dom.js +2 -2
  136. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN002025_DEVDEP_eslint_plugin_react_hooks.js +2 -2
  137. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN015008_FILE_eslintrc_js.js +2 -2
  138. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN020001_RES_types_react.js +2 -2
  139. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022001_SCSS_remove_fabric_react.js +2 -2
  140. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN022002_SCSS_add_fabric_react.js +2 -2
  141. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.14.0.js +0 -2
  142. package/dist/m365/spfx/commands/project/project-upgrade.js +24 -23
  143. package/dist/m365/spfx/commands/spfx-doctor.js +52 -7
  144. package/dist/m365/spo/commands/app/app-add.js +4 -3
  145. package/dist/m365/spo/commands/app/app-deploy.js +5 -4
  146. package/dist/m365/spo/commands/app/app-get.js +5 -4
  147. package/dist/m365/spo/commands/app/app-install.js +3 -3
  148. package/dist/m365/spo/commands/app/app-instance-list.js +2 -2
  149. package/dist/m365/spo/commands/app/app-list.js +4 -3
  150. package/dist/m365/spo/commands/app/app-remove.js +7 -6
  151. package/dist/m365/spo/commands/app/app-retract.js +7 -6
  152. package/dist/m365/spo/commands/app/app-uninstall.js +5 -5
  153. package/dist/m365/spo/commands/app/app-upgrade.js +3 -3
  154. package/dist/m365/spo/commands/apppage/apppage-add.js +2 -2
  155. package/dist/m365/spo/commands/apppage/apppage-set.js +2 -2
  156. package/dist/m365/spo/commands/cdn/cdn-get.js +4 -4
  157. package/dist/m365/spo/commands/cdn/cdn-origin-add.js +6 -5
  158. package/dist/m365/spo/commands/cdn/cdn-origin-list.js +4 -4
  159. package/dist/m365/spo/commands/cdn/cdn-origin-remove.js +8 -7
  160. package/dist/m365/spo/commands/cdn/cdn-policy-list.js +4 -4
  161. package/dist/m365/spo/commands/cdn/cdn-policy-set.js +6 -5
  162. package/dist/m365/spo/commands/cdn/cdn-set.js +3 -3
  163. package/dist/m365/spo/commands/contenttype/contenttype-add.js +11 -9
  164. package/dist/m365/spo/commands/contenttype/contenttype-field-remove.js +11 -9
  165. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +8 -6
  166. package/dist/m365/spo/commands/contenttype/contenttype-get.js +4 -3
  167. package/dist/m365/spo/commands/contenttype/contenttype-list.js +2 -2
  168. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +4 -4
  169. package/dist/m365/spo/commands/contenttype/contenttype-set.js +13 -11
  170. package/dist/m365/spo/commands/contenttypehub/contenttypehub-get.js +3 -3
  171. package/dist/m365/spo/commands/customaction/customaction-add.js +3 -3
  172. package/dist/m365/spo/commands/customaction/customaction-clear.js +4 -4
  173. package/dist/m365/spo/commands/customaction/customaction-get.js +3 -3
  174. package/dist/m365/spo/commands/customaction/customaction-list.js +2 -2
  175. package/dist/m365/spo/commands/customaction/customaction-remove.js +5 -5
  176. package/dist/m365/spo/commands/customaction/customaction-set.js +4 -4
  177. package/dist/m365/spo/commands/eventreceiver/EventReceiver.js +3 -0
  178. package/dist/m365/spo/commands/eventreceiver/eventreceiver-get.js +9 -7
  179. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +5 -4
  180. package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +182 -0
  181. package/dist/m365/spo/commands/externaluser/externaluser-list.js +8 -6
  182. package/dist/m365/spo/commands/feature/feature-enable.js +2 -2
  183. package/dist/m365/spo/commands/feature/feature-list.js +2 -2
  184. package/dist/m365/spo/commands/field/field-add.js +6 -4
  185. package/dist/m365/spo/commands/field/field-get.js +12 -10
  186. package/dist/m365/spo/commands/field/field-list.js +9 -7
  187. package/dist/m365/spo/commands/field/field-remove.js +14 -12
  188. package/dist/m365/spo/commands/field/field-set.js +12 -10
  189. package/dist/m365/spo/commands/file/file-add.js +8 -5
  190. package/dist/m365/spo/commands/file/file-checkin.js +3 -3
  191. package/dist/m365/spo/commands/file/file-checkout.js +3 -3
  192. package/dist/m365/spo/commands/file/file-copy.js +34 -46
  193. package/dist/m365/spo/commands/file/file-get.js +3 -3
  194. package/dist/m365/spo/commands/file/file-list.js +4 -3
  195. package/dist/m365/spo/commands/file/file-move.js +33 -44
  196. package/dist/m365/spo/commands/file/file-remove.js +5 -5
  197. package/dist/m365/spo/commands/file/file-rename.js +24 -20
  198. package/dist/m365/spo/commands/file/file-roleassignment-add.js +231 -0
  199. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +180 -0
  200. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +125 -0
  201. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +5 -4
  202. package/dist/m365/spo/commands/folder/folder-add.js +4 -3
  203. package/dist/m365/spo/commands/folder/folder-copy.js +8 -6
  204. package/dist/m365/spo/commands/folder/folder-get.js +38 -7
  205. package/dist/m365/spo/commands/folder/folder-list.js +4 -3
  206. package/dist/m365/spo/commands/folder/folder-move.js +8 -6
  207. package/dist/m365/spo/commands/folder/folder-remove.js +6 -5
  208. package/dist/m365/spo/commands/folder/folder-rename.js +8 -6
  209. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +94 -0
  210. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +89 -0
  211. package/dist/m365/spo/commands/group/AssociatedGroupPropertiesCollection.js +3 -0
  212. package/dist/m365/spo/commands/group/group-add.js +3 -3
  213. package/dist/m365/spo/commands/group/group-get.js +2 -2
  214. package/dist/m365/spo/commands/group/group-list.js +51 -12
  215. package/dist/m365/spo/commands/group/group-remove.js +4 -4
  216. package/dist/m365/spo/commands/group/group-set.js +5 -5
  217. package/dist/m365/spo/commands/group/group-user-add.js +4 -4
  218. package/dist/m365/spo/commands/group/group-user-list.js +2 -2
  219. package/dist/m365/spo/commands/group/group-user-remove.js +4 -4
  220. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-get.js +2 -2
  221. package/dist/m365/spo/commands/hidedefaultthemes/hidedefaultthemes-set.js +2 -2
  222. package/dist/m365/spo/commands/homesite/homesite-get.js +2 -2
  223. package/dist/m365/spo/commands/homesite/homesite-remove.js +5 -5
  224. package/dist/m365/spo/commands/homesite/homesite-set.js +7 -5
  225. package/dist/m365/spo/commands/hubsite/hubsite-connect.js +5 -4
  226. package/dist/m365/spo/commands/hubsite/hubsite-data-get.js +2 -2
  227. package/dist/m365/spo/commands/hubsite/hubsite-disconnect.js +6 -5
  228. package/dist/m365/spo/commands/hubsite/hubsite-get.js +8 -7
  229. package/dist/m365/spo/commands/hubsite/hubsite-list.js +2 -2
  230. package/dist/m365/spo/commands/hubsite/hubsite-register.js +4 -3
  231. package/dist/m365/spo/commands/hubsite/hubsite-rights-grant.js +8 -6
  232. package/dist/m365/spo/commands/hubsite/hubsite-rights-revoke.js +10 -8
  233. package/dist/m365/spo/commands/hubsite/hubsite-set.js +10 -8
  234. package/dist/m365/spo/commands/hubsite/hubsite-theme-sync.js +2 -2
  235. package/dist/m365/spo/commands/hubsite/hubsite-unregister.js +6 -5
  236. package/dist/m365/spo/commands/knowledgehub/knowledgehub-get.js +3 -3
  237. package/dist/m365/spo/commands/knowledgehub/knowledgehub-remove.js +5 -5
  238. package/dist/m365/spo/commands/knowledgehub/knowledgehub-set.js +7 -5
  239. package/dist/m365/spo/commands/list/list-add.js +5 -5
  240. package/dist/m365/spo/commands/list/list-contenttype-add.js +6 -5
  241. package/dist/m365/spo/commands/list/list-contenttype-default-set.js +6 -5
  242. package/dist/m365/spo/commands/list/list-contenttype-list.js +6 -5
  243. package/dist/m365/spo/commands/list/list-contenttype-remove.js +8 -7
  244. package/dist/m365/spo/commands/list/list-get.js +6 -5
  245. package/dist/m365/spo/commands/list/list-label-get.js +8 -6
  246. package/dist/m365/spo/commands/list/list-label-set.js +9 -7
  247. package/dist/m365/spo/commands/list/list-list.js +2 -2
  248. package/dist/m365/spo/commands/list/list-remove.js +8 -7
  249. package/dist/m365/spo/commands/list/list-roleassignment-add.js +23 -21
  250. package/dist/m365/spo/commands/list/list-roleassignment-remove.js +21 -19
  251. package/dist/m365/spo/commands/list/list-roleinheritance-break.js +6 -5
  252. package/dist/m365/spo/commands/list/list-roleinheritance-reset.js +6 -5
  253. package/dist/m365/spo/commands/list/list-set.js +6 -6
  254. package/dist/m365/spo/commands/list/list-sitescript-get.js +8 -6
  255. package/dist/m365/spo/commands/list/list-view-add.js +8 -6
  256. package/dist/m365/spo/commands/list/list-view-field-add.js +8 -7
  257. package/dist/m365/spo/commands/list/list-view-field-remove.js +10 -9
  258. package/dist/m365/spo/commands/list/list-view-field-set.js +8 -7
  259. package/dist/m365/spo/commands/list/list-view-get.js +11 -9
  260. package/dist/m365/spo/commands/list/list-view-list.js +6 -5
  261. package/dist/m365/spo/commands/list/list-view-remove.js +9 -8
  262. package/dist/m365/spo/commands/list/list-view-set.js +10 -8
  263. package/dist/m365/spo/commands/list/list-webhook-add.js +6 -5
  264. package/dist/m365/spo/commands/list/list-webhook-get.js +7 -6
  265. package/dist/m365/spo/commands/list/list-webhook-list.js +10 -9
  266. package/dist/m365/spo/commands/list/list-webhook-remove.js +9 -8
  267. package/dist/m365/spo/commands/list/list-webhook-set.js +7 -6
  268. package/dist/m365/spo/commands/listitem/listitem-add.js +10 -7
  269. package/dist/m365/spo/commands/listitem/listitem-attachment-list.js +6 -5
  270. package/dist/m365/spo/commands/listitem/listitem-get.js +6 -5
  271. package/dist/m365/spo/commands/listitem/listitem-isrecord.js +9 -7
  272. package/dist/m365/spo/commands/listitem/listitem-list.js +9 -7
  273. package/dist/m365/spo/commands/listitem/listitem-record-declare.js +10 -8
  274. package/dist/m365/spo/commands/listitem/listitem-record-undeclare.js +9 -7
  275. package/dist/m365/spo/commands/listitem/listitem-remove.js +8 -7
  276. package/dist/m365/spo/commands/listitem/listitem-roleassignment-remove.js +21 -19
  277. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-break.js +6 -5
  278. package/dist/m365/spo/commands/listitem/listitem-roleinheritance-reset.js +6 -5
  279. package/dist/m365/spo/commands/listitem/listitem-set.js +8 -6
  280. package/dist/m365/spo/commands/mail/mail-send.js +2 -2
  281. package/dist/m365/spo/commands/navigation/navigation-node-add.js +2 -2
  282. package/dist/m365/spo/commands/navigation/navigation-node-list.js +2 -2
  283. package/dist/m365/spo/commands/navigation/navigation-node-remove.js +6 -5
  284. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +6 -5
  285. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-list.js +3 -3
  286. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-remove.js +5 -5
  287. package/dist/m365/spo/commands/orgnewssite/orgnewssite-list.js +3 -3
  288. package/dist/m365/spo/commands/orgnewssite/orgnewssite-remove.js +9 -7
  289. package/dist/m365/spo/commands/orgnewssite/orgnewssite-set.js +7 -5
  290. package/dist/m365/spo/commands/page/Page.js +2 -2
  291. package/dist/m365/spo/commands/page/page-add.js +6 -4
  292. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +3 -3
  293. package/dist/m365/spo/commands/page/page-column-get.js +2 -2
  294. package/dist/m365/spo/commands/page/page-column-list.js +2 -2
  295. package/dist/m365/spo/commands/page/page-control-get.js +3 -3
  296. package/dist/m365/spo/commands/page/page-control-list.js +2 -2
  297. package/dist/m365/spo/commands/page/page-control-set.js +3 -3
  298. package/dist/m365/spo/commands/page/page-copy.js +2 -2
  299. package/dist/m365/spo/commands/page/page-get.js +4 -3
  300. package/dist/m365/spo/commands/page/page-header-set.js +2 -2
  301. package/dist/m365/spo/commands/page/page-list.js +2 -2
  302. package/dist/m365/spo/commands/page/page-remove.js +8 -6
  303. package/dist/m365/spo/commands/page/page-section-add.js +2 -2
  304. package/dist/m365/spo/commands/page/page-section-get.js +2 -2
  305. package/dist/m365/spo/commands/page/page-section-list.js +2 -2
  306. package/dist/m365/spo/commands/page/page-set.js +6 -4
  307. package/dist/m365/spo/commands/page/page-template-list.js +2 -2
  308. package/dist/m365/spo/commands/page/page-text-add.js +6 -4
  309. package/dist/m365/spo/commands/propertybag/propertybag-base.js +4 -3
  310. package/dist/m365/spo/commands/propertybag/propertybag-get.js +5 -4
  311. package/dist/m365/spo/commands/propertybag/propertybag-list.js +5 -4
  312. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +10 -8
  313. package/dist/m365/spo/commands/propertybag/propertybag-set.js +6 -5
  314. package/dist/m365/spo/commands/roledefinition/roledefinition-add.js +2 -2
  315. package/dist/m365/spo/commands/roledefinition/roledefinition-get.js +2 -2
  316. package/dist/m365/spo/commands/roledefinition/roledefinition-list.js +2 -2
  317. package/dist/m365/spo/commands/roledefinition/roledefinition-remove.js +4 -4
  318. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-add.js +5 -4
  319. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-list.js +3 -3
  320. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-grant-revoke.js +5 -4
  321. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-approve.js +7 -5
  322. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-deny.js +7 -5
  323. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-permissionrequest-list.js +3 -3
  324. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +5 -5
  325. package/dist/m365/spo/commands/site/site-add.js +18 -16
  326. package/dist/m365/spo/commands/site/site-appcatalog-add.js +7 -5
  327. package/dist/m365/spo/commands/site/site-appcatalog-remove.js +7 -5
  328. package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -3
  329. package/dist/m365/spo/commands/site/site-apppermission-get.js +2 -2
  330. package/dist/m365/spo/commands/site/site-apppermission-list.js +2 -2
  331. package/dist/m365/spo/commands/site/site-apppermission-remove.js +5 -5
  332. package/dist/m365/spo/commands/site/site-apppermission-set.js +3 -3
  333. package/dist/m365/spo/commands/site/site-chrome-set.js +2 -2
  334. package/dist/m365/spo/commands/site/site-classic-add.js +15 -13
  335. package/dist/m365/spo/commands/site/site-classic-list.js +5 -4
  336. package/dist/m365/spo/commands/site/site-classic-set.js +14 -12
  337. package/dist/m365/spo/commands/site/site-commsite-enable.js +8 -6
  338. package/dist/m365/spo/commands/site/site-ensure.js +8 -8
  339. package/dist/m365/spo/commands/site/site-get.js +2 -2
  340. package/dist/m365/spo/commands/site/site-groupify.js +2 -2
  341. package/dist/m365/spo/commands/site/site-inplacerecordsmanagement-set.js +3 -3
  342. package/dist/m365/spo/commands/site/site-list.js +5 -4
  343. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +2 -2
  344. package/dist/m365/spo/commands/site/site-recyclebinitem-restore.js +6 -5
  345. package/dist/m365/spo/commands/site/site-remove.js +18 -16
  346. package/dist/m365/spo/commands/site/site-rename.js +3 -3
  347. package/dist/m365/spo/commands/site/site-set.js +24 -21
  348. package/dist/m365/spo/commands/sitedesign/sitedesign-add.js +5 -4
  349. package/dist/m365/spo/commands/sitedesign/sitedesign-apply.js +5 -4
  350. package/dist/m365/spo/commands/sitedesign/sitedesign-get.js +4 -3
  351. package/dist/m365/spo/commands/sitedesign/sitedesign-list.js +2 -2
  352. package/dist/m365/spo/commands/sitedesign/sitedesign-remove.js +7 -6
  353. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-grant.js +5 -4
  354. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-list.js +5 -4
  355. package/dist/m365/spo/commands/sitedesign/sitedesign-rights-revoke.js +7 -6
  356. package/dist/m365/spo/commands/sitedesign/sitedesign-run-list.js +3 -3
  357. package/dist/m365/spo/commands/sitedesign/sitedesign-run-status-get.js +3 -3
  358. package/dist/m365/spo/commands/sitedesign/sitedesign-set.js +5 -4
  359. package/dist/m365/spo/commands/sitedesign/sitedesign-task-get.js +4 -3
  360. package/dist/m365/spo/commands/sitedesign/sitedesign-task-list.js +2 -2
  361. package/dist/m365/spo/commands/sitedesign/sitedesign-task-remove.js +6 -5
  362. package/dist/m365/spo/commands/sitescript/sitescript-add.js +3 -3
  363. package/dist/m365/spo/commands/sitescript/sitescript-get.js +5 -4
  364. package/dist/m365/spo/commands/sitescript/sitescript-list.js +3 -3
  365. package/dist/m365/spo/commands/sitescript/sitescript-remove.js +7 -6
  366. package/dist/m365/spo/commands/sitescript/sitescript-set.js +5 -4
  367. package/dist/m365/spo/commands/spo-search.js +5 -4
  368. package/dist/m365/spo/commands/spo-set.js +2 -2
  369. package/dist/m365/spo/commands/storageentity/storageentity-get.js +2 -2
  370. package/dist/m365/spo/commands/storageentity/storageentity-list.js +2 -2
  371. package/dist/m365/spo/commands/storageentity/storageentity-remove.js +9 -7
  372. package/dist/m365/spo/commands/storageentity/storageentity-set.js +7 -5
  373. package/dist/m365/spo/commands/tenant/tenant-appcatalog-add.js +7 -7
  374. package/dist/m365/spo/commands/tenant/tenant-appcatalogurl-get.js +2 -2
  375. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-list.js +3 -3
  376. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-remove.js +10 -8
  377. package/dist/m365/spo/commands/tenant/tenant-recyclebinitem-restore.js +4 -3
  378. package/dist/m365/spo/commands/tenant/tenant-settings-list.js +3 -3
  379. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +6 -5
  380. package/dist/m365/spo/commands/term/term-add.js +15 -13
  381. package/dist/m365/spo/commands/term/term-get.js +11 -9
  382. package/dist/m365/spo/commands/term/term-group-add.js +8 -6
  383. package/dist/m365/spo/commands/term/term-group-get.js +7 -5
  384. package/dist/m365/spo/commands/term/term-group-list.js +3 -3
  385. package/dist/m365/spo/commands/term/term-list.js +9 -7
  386. package/dist/m365/spo/commands/term/term-set-add.js +11 -9
  387. package/dist/m365/spo/commands/term/term-set-get.js +9 -7
  388. package/dist/m365/spo/commands/term/term-set-list.js +7 -5
  389. package/dist/m365/spo/commands/theme/theme-apply.js +7 -5
  390. package/dist/m365/spo/commands/theme/theme-get.js +5 -4
  391. package/dist/m365/spo/commands/theme/theme-list.js +2 -2
  392. package/dist/m365/spo/commands/theme/theme-remove.js +4 -4
  393. package/dist/m365/spo/commands/theme/theme-set.js +7 -5
  394. package/dist/m365/spo/commands/user/user-get.js +2 -2
  395. package/dist/m365/spo/commands/user/user-list.js +2 -2
  396. package/dist/m365/spo/commands/user/user-remove.js +4 -4
  397. package/dist/m365/spo/commands/userprofile/userprofile-get.js +4 -3
  398. package/dist/m365/spo/commands/userprofile/userprofile-set.js +3 -3
  399. package/dist/m365/spo/commands/web/web-add.js +5 -4
  400. package/dist/m365/spo/commands/web/web-clientsidewebpart-list.js +2 -2
  401. package/dist/m365/spo/commands/web/web-get.js +2 -2
  402. package/dist/m365/spo/commands/web/web-installedlanguage-list.js +2 -2
  403. package/dist/m365/spo/commands/web/web-list.js +2 -2
  404. package/dist/m365/spo/commands/web/web-reindex.js +6 -5
  405. package/dist/m365/spo/commands/web/web-remove.js +4 -4
  406. package/dist/m365/spo/commands/web/web-roleassignment-add.js +16 -16
  407. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +14 -14
  408. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +2 -2
  409. package/dist/m365/spo/commands/web/web-set.js +2 -2
  410. package/dist/m365/spo/commands.js +6 -0
  411. package/dist/m365/teams/commands/app/app-install.js +6 -6
  412. package/dist/m365/teams/commands/app/app-list.js +4 -3
  413. package/dist/m365/teams/commands/app/app-remove.js +4 -4
  414. package/dist/m365/teams/commands/app/app-uninstall.js +4 -4
  415. package/dist/m365/teams/commands/app/app-update.js +2 -2
  416. package/dist/m365/teams/commands/cache/cache-remove.js +2 -2
  417. package/dist/m365/teams/commands/channel/channel-add.js +2 -2
  418. package/dist/m365/teams/commands/channel/channel-get.js +3 -3
  419. package/dist/m365/teams/commands/channel/channel-list.js +7 -6
  420. package/dist/m365/teams/commands/channel/channel-member-add.js +3 -3
  421. package/dist/m365/teams/commands/channel/channel-member-list.js +5 -4
  422. package/dist/m365/teams/commands/channel/channel-member-remove.js +6 -6
  423. package/dist/m365/teams/commands/channel/channel-member-set.js +4 -4
  424. package/dist/m365/teams/commands/channel/channel-remove.js +5 -5
  425. package/dist/m365/teams/commands/channel/channel-set.js +2 -2
  426. package/dist/m365/teams/commands/chat/chat-list.js +2 -2
  427. package/dist/m365/teams/commands/chat/chat-member-list.js +4 -3
  428. package/dist/m365/teams/commands/chat/chat-message-list.js +4 -3
  429. package/dist/m365/teams/commands/chat/chat-message-send.js +5 -4
  430. package/dist/m365/teams/commands/funsettings/funsettings-list.js +2 -2
  431. package/dist/m365/teams/commands/funsettings/funsettings-set.js +2 -2
  432. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +2 -2
  433. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +2 -2
  434. package/dist/m365/teams/commands/membersettings/membersettings-list.js +2 -2
  435. package/dist/m365/teams/commands/membersettings/membersettings-set.js +2 -2
  436. package/dist/m365/teams/commands/message/message-get.js +3 -3
  437. package/dist/m365/teams/commands/message/message-list.js +7 -6
  438. package/dist/m365/teams/commands/message/message-reply-list.js +5 -4
  439. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +2 -2
  440. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +3 -3
  441. package/dist/m365/teams/commands/report/report-directroutingcalls.js +3 -3
  442. package/dist/m365/teams/commands/report/report-pstncalls.js +3 -3
  443. package/dist/m365/teams/commands/tab/tab-add.js +3 -3
  444. package/dist/m365/teams/commands/tab/tab-get.js +4 -4
  445. package/dist/m365/teams/commands/tab/tab-list.js +5 -4
  446. package/dist/m365/teams/commands/tab/tab-remove.js +6 -6
  447. package/dist/m365/teams/commands/team/team-archive.js +3 -3
  448. package/dist/m365/teams/commands/team/team-clone.js +3 -3
  449. package/dist/m365/teams/commands/team/team-get.js +2 -2
  450. package/dist/m365/teams/commands/team/team-list.js +2 -2
  451. package/dist/m365/teams/commands/team/team-remove.js +5 -5
  452. package/dist/m365/teams/commands/team/team-set.js +3 -3
  453. package/dist/m365/teams/commands/team/team-unarchive.js +3 -3
  454. package/dist/m365/teams/commands/user/user-app-add.js +3 -3
  455. package/dist/m365/teams/commands/user/user-app-list.js +5 -4
  456. package/dist/m365/teams/commands/user/user-app-remove.js +4 -4
  457. package/dist/m365/teams/commands/user/user-list.js +5 -4
  458. package/dist/m365/tenant/commands/id/id-get.js +2 -2
  459. package/dist/m365/tenant/commands/report/report-office365activationcounts.js +2 -2
  460. package/dist/m365/tenant/commands/report/report-office365activationsusercounts.js +2 -2
  461. package/dist/m365/tenant/commands/report/report-office365activationsuserdetail.js +2 -2
  462. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +2 -2
  463. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +2 -2
  464. package/dist/m365/todo/commands/list/list-list.js +2 -2
  465. package/dist/m365/todo/commands/list/list-remove.js +2 -2
  466. package/dist/m365/todo/commands/task/task-list.js +2 -2
  467. package/dist/m365/todo/commands/task/task-remove.js +2 -2
  468. package/dist/m365/viva/commands/connections/connections-app-create.js +2 -2
  469. package/dist/m365/yammer/commands/group/group-user-remove.js +2 -2
  470. package/dist/m365/yammer/commands/message/message-like-set.js +2 -2
  471. package/dist/m365/yammer/commands/message/message-remove.js +2 -2
  472. package/dist/request.js +4 -4
  473. package/dist/utils/cache.js +81 -0
  474. package/dist/utils/pid.js +57 -0
  475. package/dist/utils/powerPlatform.js +42 -0
  476. package/dist/utils/spo.js +7 -6
  477. package/docs/docs/cmd/aad/o365group/o365group-recyclebinitem-restore.md +1 -1
  478. package/docs/docs/cmd/aad/user/user-signin-list.md +1 -1
  479. package/docs/docs/cmd/onedrive/report/report-activityusercounts.md +1 -1
  480. package/docs/docs/cmd/planner/task/task-checklistitem-list.md +1 -1
  481. package/docs/docs/cmd/planner/task/task-reference-add.md +1 -1
  482. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.md +33 -0
  483. package/docs/docs/cmd/pp/environment/environment-list.md +1 -1
  484. package/docs/docs/cmd/pp/solution/solution-list.md +33 -0
  485. package/docs/docs/cmd/pp/tenant/tenant-settings-list.md +26 -0
  486. package/docs/docs/cmd/search/externalconnection/externalconnection-remove.md +1 -1
  487. package/docs/docs/cmd/spfx/spfx-doctor.md +10 -1
  488. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +69 -0
  489. package/docs/docs/cmd/spo/file/file-roleassignment-add.md +57 -0
  490. package/docs/docs/cmd/spo/file/file-roleassignment-remove.md +54 -0
  491. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.md +39 -0
  492. package/docs/docs/cmd/spo/folder/folder-get.md +13 -4
  493. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.md +39 -0
  494. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.md +36 -0
  495. package/docs/docs/cmd/spo/group/group-list.md +10 -1
  496. package/docs/docs/cmd/spo/hubsite/hubsite-disconnect.md +1 -1
  497. package/docs/docs/cmd/spo/hubsite/hubsite-get.md +3 -3
  498. package/docs/docs/cmd/spo/list/list-roleassignment-add.md +1 -1
  499. package/docs/docs/cmd/spo/list/list-roleassignment-remove.md +1 -1
  500. package/docs/docs/cmd/spo/listitem/listitem-roleassignment-remove.md +1 -1
  501. package/docs/docs/cmd/spo/roledefinition/roledefinition-add.md +1 -1
  502. package/docs/docs/cmd/spo/web/web-roleassignment-add.md +5 -5
  503. package/docs/docs/cmd/spo/web/web-roleassignment-remove.md +5 -5
  504. package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +1 -1
  505. package/docs/docs/cmd/teams/cache/cache-remove.md +1 -1
  506. package/docs/docs/cmd/teams/channel/channel-add.md +1 -1
  507. package/docs/docs/cmd/teams/channel/channel-list.md +1 -1
  508. package/docs/docs/cmd/teams/channel/channel-member-set.md +1 -1
  509. package/docs/docs/cmd/teams/funsettings/funsettings-set.md +6 -6
  510. package/docs/docs/cmd/tenant/security/security-alerts-list.md +1 -1
  511. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-get.md +1 -1
  512. package/docs/docs/cmd/tenant/serviceannouncement/serviceannouncement-health-list.md +1 -1
  513. package/npm-shrinkwrap.json +342 -357
  514. package/package.json +21 -18
  515. package/dist/cli/index.js +0 -21
  516. package/dist/m365/spfx/commands/project/project-upgrade/rules/FN006006_CFG_PS_features.js +0 -60
  517. package/dist/utils/index.js +0 -31
@@ -16,10 +16,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoFileMoveCommand_instances, _SpoFileMoveCommand_initTelemetry, _SpoFileMoveCommand_initOptions, _SpoFileMoveCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const url = require("url");
19
+ const Cli_1 = require("../../../../cli/Cli");
19
20
  const request_1 = require("../../../../request");
20
- const utils_1 = require("../../../../utils");
21
+ const spo_1 = require("../../../../utils/spo");
22
+ const urlUtil_1 = require("../../../../utils/urlUtil");
23
+ const validation_1 = require("../../../../utils/validation");
21
24
  const SpoCommand_1 = require("../../../base/SpoCommand");
22
25
  const commands_1 = require("../../commands");
26
+ const removeCommand = require('./file-remove');
23
27
  class SpoFileMoveCommand extends SpoCommand_1.default {
24
28
  constructor() {
25
29
  super();
@@ -57,9 +61,9 @@ class SpoFileMoveCommand extends SpoCommand_1.default {
57
61
  yield this.recycleFile(tenantUrl, args.options.targetUrl, filename, logger);
58
62
  }
59
63
  // all preconditions met, now create copy job
60
- const sourceAbsoluteUrl = utils_1.urlUtil.urlCombine(webUrl, args.options.sourceUrl);
64
+ const sourceAbsoluteUrl = urlUtil_1.urlUtil.urlCombine(webUrl, args.options.sourceUrl);
61
65
  const allowSchemaMismatch = args.options.allowSchemaMismatch || false;
62
- const requestUrl = utils_1.urlUtil.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
66
+ const requestUrl = urlUtil_1.urlUtil.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
63
67
  const requestOptions = {
64
68
  url: requestUrl,
65
69
  headers: {
@@ -67,7 +71,7 @@ class SpoFileMoveCommand extends SpoCommand_1.default {
67
71
  },
68
72
  data: {
69
73
  exportObjectUris: [sourceAbsoluteUrl],
70
- destinationUri: utils_1.urlUtil.urlCombine(tenantUrl, args.options.targetUrl),
74
+ destinationUri: urlUtil_1.urlUtil.urlCombine(tenantUrl, args.options.targetUrl),
71
75
  options: {
72
76
  "AllowSchemaMismatch": allowSchemaMismatch,
73
77
  "IgnoreVersionHistory": true,
@@ -82,7 +86,7 @@ class SpoFileMoveCommand extends SpoCommand_1.default {
82
86
  const progressPollInterval = 1800; // 30 * 60; //used previously implemented interval. The API does not provide guidance on what value should be used.
83
87
  yield new Promise((resolve, reject) => {
84
88
  setTimeout(() => {
85
- utils_1.spo.waitUntilCopyJobFinished({
89
+ spo_1.spo.waitUntilCopyJobFinished({
86
90
  copyJobInfo,
87
91
  siteUrl: webUrl,
88
92
  pollingInterval: progressPollInterval,
@@ -122,49 +126,34 @@ class SpoFileMoveCommand extends SpoCommand_1.default {
122
126
  * Moves file in the site recycle bin
123
127
  */
124
128
  recycleFile(tenantUrl, targetUrl, filename, logger) {
125
- return new Promise((resolve, reject) => {
126
- const targetFolderAbsoluteUrl = utils_1.urlUtil.urlCombine(tenantUrl, targetUrl);
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ const targetFolderAbsoluteUrl = urlUtil_1.urlUtil.urlCombine(tenantUrl, targetUrl);
127
131
  // since the target WebFullUrl is unknown we can use getRequestDigest
128
132
  // to get it from target folder absolute url.
129
133
  // Similar approach used here Microsoft.SharePoint.Client.Web.WebUrlFromFolderUrlDirect
130
- utils_1.spo.getRequestDigest(targetFolderAbsoluteUrl)
131
- .then((contextResponse) => {
132
- if (this.debug) {
133
- logger.logToStderr(`contextResponse.WebFullUrl: ${contextResponse.WebFullUrl}`);
134
- }
135
- if (targetUrl.charAt(0) !== '/') {
136
- targetUrl = `/${targetUrl}`;
134
+ const contextResponse = yield spo_1.spo.getRequestDigest(targetFolderAbsoluteUrl);
135
+ if (this.debug) {
136
+ logger.logToStderr(`contextResponse.WebFullUrl: ${contextResponse.WebFullUrl}`);
137
+ }
138
+ const targetFileServerRelativeUrl = `${urlUtil_1.urlUtil.getServerRelativePath(contextResponse.WebFullUrl, targetUrl)}/${filename}`;
139
+ const removeOptions = {
140
+ webUrl: contextResponse.WebFullUrl,
141
+ url: targetFileServerRelativeUrl,
142
+ recycle: true,
143
+ confirm: true,
144
+ debug: this.debug,
145
+ verbose: this.verbose
146
+ };
147
+ try {
148
+ yield Cli_1.Cli.executeCommand(removeCommand, { options: Object.assign(Object.assign({}, removeOptions), { _: [] }) });
149
+ }
150
+ catch (err) {
151
+ if (err.error !== undefined && err.error.message !== undefined && err.error.message.includes('does not exist')) {
137
152
  }
138
- if (targetUrl.lastIndexOf('/') !== targetUrl.length - 1) {
139
- targetUrl = `${targetUrl}/`;
153
+ else {
154
+ throw err;
140
155
  }
141
- const requestUrl = `${contextResponse.WebFullUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(`${targetUrl}${filename}`)}')/recycle()`;
142
- const requestOptions = {
143
- url: requestUrl,
144
- method: 'POST',
145
- headers: {
146
- 'X-HTTP-Method': 'DELETE',
147
- 'If-Match': '*',
148
- 'accept': 'application/json;odata=nometadata'
149
- },
150
- responseType: 'json'
151
- };
152
- request_1.default.post(requestOptions)
153
- .then(() => {
154
- resolve();
155
- })
156
- .catch((err) => {
157
- if (err.statusCode === 404) {
158
- // file does not exist so can proceed
159
- return resolve();
160
- }
161
- if (this.debug) {
162
- logger.logToStderr(`recycleFile error...`);
163
- logger.logToStderr(err);
164
- }
165
- reject(err);
166
- });
167
- }, (e) => reject(e));
156
+ }
168
157
  });
169
158
  }
170
159
  }
@@ -188,7 +177,7 @@ _SpoFileMoveCommand_instances = new WeakSet(), _SpoFileMoveCommand_initTelemetry
188
177
  option: '--allowSchemaMismatch'
189
178
  });
190
179
  }, _SpoFileMoveCommand_initValidators = function _SpoFileMoveCommand_initValidators() {
191
- this.validators.push((args) => __awaiter(this, void 0, void 0, function* () { return utils_1.validation.isValidSharePointUrl(args.options.webUrl); }));
180
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () { return validation_1.validation.isValidSharePointUrl(args.options.webUrl); }));
192
181
  };
193
182
  module.exports = new SpoFileMoveCommand();
194
183
  //# sourceMappingURL=file-move.js.map
@@ -15,9 +15,9 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoFileRemoveCommand_instances, _SpoFileRemoveCommand_initTelemetry, _SpoFileRemoveCommand_initOptions, _SpoFileRemoveCommand_initValidators, _SpoFileRemoveCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const cli_1 = require("../../../../cli");
18
+ const Cli_1 = require("../../../../cli/Cli");
19
19
  const request_1 = require("../../../../request");
20
- const utils_1 = require("../../../../utils");
20
+ const validation_1 = require("../../../../utils/validation");
21
21
  const SpoCommand_1 = require("../../../base/SpoCommand");
22
22
  const commands_1 = require("../../commands");
23
23
  class SpoFileRemoveCommand extends SpoCommand_1.default {
@@ -86,7 +86,7 @@ class SpoFileRemoveCommand extends SpoCommand_1.default {
86
86
  yield removeFile();
87
87
  }
88
88
  else {
89
- const result = yield cli_1.Cli.prompt({
89
+ const result = yield Cli_1.Cli.prompt({
90
90
  type: 'confirm',
91
91
  name: 'continue',
92
92
  default: false,
@@ -122,12 +122,12 @@ _SpoFileRemoveCommand_instances = new WeakSet(), _SpoFileRemoveCommand_initTelem
122
122
  });
123
123
  }, _SpoFileRemoveCommand_initValidators = function _SpoFileRemoveCommand_initValidators() {
124
124
  this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
125
- const isValidSharePointUrl = utils_1.validation.isValidSharePointUrl(args.options.webUrl);
125
+ const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
126
126
  if (isValidSharePointUrl !== true) {
127
127
  return isValidSharePointUrl;
128
128
  }
129
129
  if (args.options.id &&
130
- !utils_1.validation.isValidGuid(args.options.id)) {
130
+ !validation_1.validation.isValidGuid(args.options.id)) {
131
131
  return `${args.options.id} is not a valid GUID`;
132
132
  }
133
133
  return true;
@@ -15,9 +15,10 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
15
15
  };
16
16
  var _SpoFileRenameCommand_instances, _SpoFileRenameCommand_initTelemetry, _SpoFileRenameCommand_initOptions, _SpoFileRenameCommand_initValidators;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- const cli_1 = require("../../../../cli");
18
+ const Cli_1 = require("../../../../cli/Cli");
19
19
  const request_1 = require("../../../../request");
20
- const utils_1 = require("../../../../utils");
20
+ const urlUtil_1 = require("../../../../utils/urlUtil");
21
+ const validation_1 = require("../../../../utils/validation");
21
22
  const SpoCommand_1 = require("../../../base/SpoCommand");
22
23
  const commands_1 = require("../../commands");
23
24
  const removeCommand = require('./file-remove');
@@ -38,7 +39,7 @@ class SpoFileRenameCommand extends SpoCommand_1.default {
38
39
  commandAction(logger, args) {
39
40
  return __awaiter(this, void 0, void 0, function* () {
40
41
  const webUrl = args.options.webUrl;
41
- const originalFileServerRelativeUrl = utils_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.sourceUrl);
42
+ const originalFileServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, args.options.sourceUrl);
42
43
  try {
43
44
  yield this.getFile(originalFileServerRelativeUrl, webUrl);
44
45
  if (args.options.force) {
@@ -78,23 +79,26 @@ class SpoFileRenameCommand extends SpoCommand_1.default {
78
79
  return request_1.default.get(requestOptions);
79
80
  }
80
81
  deleteFile(webUrl, sourceUrl, targetFileName) {
81
- const targetFileServerRelativeUrl = `${utils_1.urlUtil.getServerRelativePath(webUrl, sourceUrl.substring(0, sourceUrl.lastIndexOf('/')))}/${targetFileName}`;
82
- const options = {
83
- webUrl: webUrl,
84
- url: targetFileServerRelativeUrl,
85
- recycle: true,
86
- confirm: true,
87
- debug: this.debug,
88
- verbose: this.verbose
89
- };
90
- return cli_1.Cli.executeCommandWithOutput(removeCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) })
91
- .then(_ => {
92
- return Promise.resolve();
93
- }, (err) => {
94
- if (err.error !== null && err.error.message !== null && err.error.message.includes('does not exist')) {
95
- return Promise.resolve();
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ const targetFileServerRelativeUrl = `${urlUtil_1.urlUtil.getServerRelativePath(webUrl, sourceUrl.substring(0, sourceUrl.lastIndexOf('/')))}/${targetFileName}`;
84
+ const removeOptions = {
85
+ webUrl: webUrl,
86
+ url: targetFileServerRelativeUrl,
87
+ recycle: true,
88
+ confirm: true,
89
+ debug: this.debug,
90
+ verbose: this.verbose
91
+ };
92
+ try {
93
+ yield Cli_1.Cli.executeCommand(removeCommand, { options: Object.assign(Object.assign({}, removeOptions), { _: [] }) });
94
+ }
95
+ catch (err) {
96
+ if (err.error !== undefined && err.error.message !== undefined && err.error.message.includes('does not exist')) {
97
+ }
98
+ else {
99
+ throw err;
100
+ }
96
101
  }
97
- return Promise.reject(err);
98
102
  });
99
103
  }
100
104
  }
@@ -115,7 +119,7 @@ _SpoFileRenameCommand_instances = new WeakSet(), _SpoFileRenameCommand_initTelem
115
119
  option: '--force'
116
120
  });
117
121
  }, _SpoFileRenameCommand_initValidators = function _SpoFileRenameCommand_initValidators() {
118
- this.validators.push((args) => __awaiter(this, void 0, void 0, function* () { return utils_1.validation.isValidSharePointUrl(args.options.webUrl); }));
122
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () { return validation_1.validation.isValidSharePointUrl(args.options.webUrl); }));
119
123
  };
120
124
  module.exports = new SpoFileRenameCommand();
121
125
  //# sourceMappingURL=file-rename.js.map
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _SpoFileRoleAssignmentAddCommand_instances, _SpoFileRoleAssignmentAddCommand_initTelemetry, _SpoFileRoleAssignmentAddCommand_initOptions, _SpoFileRoleAssignmentAddCommand_initValidators, _SpoFileRoleAssignmentAddCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ const SpoUserGetCommand = require("../user/user-get");
20
+ const SpoGroupGetCommand = require("../group/group-get");
21
+ const SpoRoleDefinitionListCommand = require("../roledefinition/roledefinition-list");
22
+ const SpoFileGetCommand = require("./file-get");
23
+ const request_1 = require("../../../../request");
24
+ const validation_1 = require("../../../../utils/validation");
25
+ const formatting_1 = require("../../../../utils/formatting");
26
+ const SpoCommand_1 = require("../../../base/SpoCommand");
27
+ const commands_1 = require("../../commands");
28
+ class SpoFileRoleAssignmentAddCommand extends SpoCommand_1.default {
29
+ constructor() {
30
+ super();
31
+ _SpoFileRoleAssignmentAddCommand_instances.add(this);
32
+ __classPrivateFieldGet(this, _SpoFileRoleAssignmentAddCommand_instances, "m", _SpoFileRoleAssignmentAddCommand_initTelemetry).call(this);
33
+ __classPrivateFieldGet(this, _SpoFileRoleAssignmentAddCommand_instances, "m", _SpoFileRoleAssignmentAddCommand_initOptions).call(this);
34
+ __classPrivateFieldGet(this, _SpoFileRoleAssignmentAddCommand_instances, "m", _SpoFileRoleAssignmentAddCommand_initValidators).call(this);
35
+ __classPrivateFieldGet(this, _SpoFileRoleAssignmentAddCommand_instances, "m", _SpoFileRoleAssignmentAddCommand_initOptionSets).call(this);
36
+ }
37
+ get name() {
38
+ return commands_1.default.FILE_ROLEASSIGNMENT_ADD;
39
+ }
40
+ get description() {
41
+ return 'Adds a role assignment to the specified file.';
42
+ }
43
+ commandAction(logger, args) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ if (this.verbose) {
46
+ logger.logToStderr(`Adding role assignment to file in site at ${args.options.webUrl}...`);
47
+ }
48
+ try {
49
+ const fileUrl = yield this.getFileURL(args);
50
+ const roleDefinitionId = yield this.getRoleDefinitionId(args.options);
51
+ if (args.options.upn) {
52
+ const upnPrincipalId = yield this.getUserPrincipalId(args.options);
53
+ yield this.addRoleAssignment(fileUrl, args.options.webUrl, upnPrincipalId, roleDefinitionId);
54
+ }
55
+ else if (args.options.groupName) {
56
+ const groupPrincipalId = yield this.getGroupPrincipalId(args.options);
57
+ yield this.addRoleAssignment(fileUrl, args.options.webUrl, groupPrincipalId, roleDefinitionId);
58
+ }
59
+ else {
60
+ yield this.addRoleAssignment(fileUrl, args.options.webUrl, args.options.principalId, roleDefinitionId);
61
+ }
62
+ }
63
+ catch (err) {
64
+ this.handleRejectedODataJsonPromise(err);
65
+ }
66
+ });
67
+ }
68
+ addRoleAssignment(fileUrl, webUrl, principalId, roleDefinitionId) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ try {
71
+ const requestOptions = {
72
+ url: `${webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(fileUrl)}')/ListItemAllFields/roleassignments/addroleassignment(principalid='${principalId}',roledefid='${roleDefinitionId}')`,
73
+ method: 'POST',
74
+ headers: {
75
+ 'accept': 'application/json;odata=nometadata',
76
+ 'content-type': 'application/json'
77
+ },
78
+ responseType: 'json'
79
+ };
80
+ yield request_1.default.post(requestOptions);
81
+ }
82
+ catch (err) {
83
+ return Promise.reject(err);
84
+ }
85
+ });
86
+ }
87
+ getRoleDefinitionId(options) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ if (!options.roleDefinitionName) {
90
+ return options.roleDefinitionId;
91
+ }
92
+ try {
93
+ const roleDefinitionListCommandOptions = {
94
+ webUrl: options.webUrl,
95
+ output: 'json',
96
+ debug: this.debug,
97
+ verbose: this.verbose
98
+ };
99
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoRoleDefinitionListCommand, { options: Object.assign(Object.assign({}, roleDefinitionListCommandOptions), { _: [] }) });
100
+ const getRoleDefinitionListOutput = JSON.parse(output.stdout);
101
+ const roleDefinitionId = getRoleDefinitionListOutput.find((role) => role.Name === options.roleDefinitionName).Id;
102
+ return roleDefinitionId;
103
+ }
104
+ catch (err) {
105
+ return Promise.reject(err);
106
+ }
107
+ });
108
+ }
109
+ getGroupPrincipalId(options) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ try {
112
+ const groupGetCommandOptions = {
113
+ webUrl: options.webUrl,
114
+ name: options.groupName,
115
+ output: 'json',
116
+ debug: this.debug,
117
+ verbose: this.verbose
118
+ };
119
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
120
+ const getGroupOutput = JSON.parse(output.stdout);
121
+ return getGroupOutput.Id;
122
+ }
123
+ catch (err) {
124
+ return Promise.reject(err);
125
+ }
126
+ });
127
+ }
128
+ getUserPrincipalId(options) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ try {
131
+ const userGetCommandOptions = {
132
+ webUrl: options.webUrl,
133
+ email: options.upn,
134
+ id: undefined,
135
+ output: 'json',
136
+ debug: this.debug,
137
+ verbose: this.verbose
138
+ };
139
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
140
+ const getUserOutput = JSON.parse(output.stdout);
141
+ return getUserOutput.Id;
142
+ }
143
+ catch (err) {
144
+ return Promise.reject(err);
145
+ }
146
+ });
147
+ }
148
+ getFileURL(args) {
149
+ return __awaiter(this, void 0, void 0, function* () {
150
+ if (args.options.fileUrl) {
151
+ return args.options.fileUrl;
152
+ }
153
+ const options = {
154
+ webUrl: args.options.webUrl,
155
+ id: args.options.fileId,
156
+ output: 'json',
157
+ debug: this.debug,
158
+ verbose: this.verbose
159
+ };
160
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoFileGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
161
+ const getFileOutput = JSON.parse(output.stdout);
162
+ return getFileOutput.ServerRelativeUrl;
163
+ });
164
+ }
165
+ }
166
+ _SpoFileRoleAssignmentAddCommand_instances = new WeakSet(), _SpoFileRoleAssignmentAddCommand_initTelemetry = function _SpoFileRoleAssignmentAddCommand_initTelemetry() {
167
+ this.telemetry.push((args) => {
168
+ Object.assign(this.telemetryProperties, {
169
+ fileUrl: typeof args.options.fileUrl !== 'undefined',
170
+ fileId: typeof args.options.fileId !== 'undefined',
171
+ principalId: typeof args.options.principalId !== 'undefined',
172
+ upn: typeof args.options.upn !== 'undefined',
173
+ groupName: typeof args.options.groupName !== 'undefined',
174
+ roleDefinitionId: typeof args.options.roleDefinitionId !== 'undefined',
175
+ roleDefinitionName: typeof args.options.roleDefinitionName !== 'undefined'
176
+ });
177
+ });
178
+ }, _SpoFileRoleAssignmentAddCommand_initOptions = function _SpoFileRoleAssignmentAddCommand_initOptions() {
179
+ this.options.unshift({
180
+ option: '-u, --webUrl <webUrl>'
181
+ }, {
182
+ option: '--fileUrl [fileUrl]'
183
+ }, {
184
+ option: 'i, --fileId [fileId]'
185
+ }, {
186
+ option: '--principalId [principalId]'
187
+ }, {
188
+ option: '--upn [upn]'
189
+ }, {
190
+ option: '--groupName [groupName]'
191
+ }, {
192
+ option: '--roleDefinitionId [roleDefinitionId]'
193
+ }, {
194
+ option: '--roleDefinitionName [roleDefinitionName]'
195
+ });
196
+ }, _SpoFileRoleAssignmentAddCommand_initValidators = function _SpoFileRoleAssignmentAddCommand_initValidators() {
197
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
198
+ const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
199
+ if (isValidSharePointUrl !== true) {
200
+ return isValidSharePointUrl;
201
+ }
202
+ if (args.options.fileId && !validation_1.validation.isValidGuid(args.options.fileId)) {
203
+ return `${args.options.fileId} is not a valid GUID`;
204
+ }
205
+ if (args.options.principalId && isNaN(args.options.principalId)) {
206
+ return `Specified principalId ${args.options.principalId} is not a number`;
207
+ }
208
+ if (args.options.roleDefinitionId && isNaN(args.options.roleDefinitionId)) {
209
+ return `Specified roleDefinitionId ${args.options.roleDefinitionId} is not a number`;
210
+ }
211
+ const principalOptions = [args.options.principalId, args.options.upn, args.options.groupName];
212
+ if (!principalOptions.some(item => item !== undefined)) {
213
+ return `Specify either principalId, upn or groupName`;
214
+ }
215
+ if (principalOptions.filter(item => item !== undefined).length > 1) {
216
+ return `Specify either principalId, upn or groupName but not multiple`;
217
+ }
218
+ const roleDefinitionOptions = [args.options.roleDefinitionId, args.options.roleDefinitionName];
219
+ if (!roleDefinitionOptions.some(item => item !== undefined)) {
220
+ return `Specify either roleDefinitionId or roleDefinitionName`;
221
+ }
222
+ if (roleDefinitionOptions.filter(item => item !== undefined).length > 1) {
223
+ return `Specify either roleDefinitionId or roleDefinitionName but not multiple`;
224
+ }
225
+ return true;
226
+ }));
227
+ }, _SpoFileRoleAssignmentAddCommand_initOptionSets = function _SpoFileRoleAssignmentAddCommand_initOptionSets() {
228
+ this.optionSets.push(['fileId', 'fileUrl']);
229
+ };
230
+ module.exports = new SpoFileRoleAssignmentAddCommand();
231
+ //# sourceMappingURL=file-roleassignment-add.js.map
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
15
+ };
16
+ var _SpoFileRoleAssignmentRemoveCommand_instances, _SpoFileRoleAssignmentRemoveCommand_initTelemetry, _SpoFileRoleAssignmentRemoveCommand_initOptions, _SpoFileRoleAssignmentRemoveCommand_initValidators, _SpoFileRoleAssignmentRemoveCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ const request_1 = require("../../../../request");
20
+ const urlUtil_1 = require("../../../../utils/urlUtil");
21
+ const formatting_1 = require("../../../../utils/formatting");
22
+ const validation_1 = require("../../../../utils/validation");
23
+ const SpoCommand_1 = require("../../../base/SpoCommand");
24
+ const commands_1 = require("../../commands");
25
+ const SpoFileGetCommand = require("./file-get");
26
+ const SpoUserGetCommand = require("../user/user-get");
27
+ const SpoGroupGetCommand = require("../group/group-get");
28
+ class SpoFileRoleAssignmentRemoveCommand extends SpoCommand_1.default {
29
+ constructor() {
30
+ super();
31
+ _SpoFileRoleAssignmentRemoveCommand_instances.add(this);
32
+ __classPrivateFieldGet(this, _SpoFileRoleAssignmentRemoveCommand_instances, "m", _SpoFileRoleAssignmentRemoveCommand_initTelemetry).call(this);
33
+ __classPrivateFieldGet(this, _SpoFileRoleAssignmentRemoveCommand_instances, "m", _SpoFileRoleAssignmentRemoveCommand_initOptions).call(this);
34
+ __classPrivateFieldGet(this, _SpoFileRoleAssignmentRemoveCommand_instances, "m", _SpoFileRoleAssignmentRemoveCommand_initValidators).call(this);
35
+ __classPrivateFieldGet(this, _SpoFileRoleAssignmentRemoveCommand_instances, "m", _SpoFileRoleAssignmentRemoveCommand_initOptionSets).call(this);
36
+ }
37
+ get name() {
38
+ return commands_1.default.FILE_ROLEASSIGNMENT_REMOVE;
39
+ }
40
+ get description() {
41
+ return 'Removes a role assignment from a file.';
42
+ }
43
+ commandAction(logger, args) {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ const removeRoleAssignment = () => __awaiter(this, void 0, void 0, function* () {
46
+ try {
47
+ const fileURL = yield this.getFileURL(args);
48
+ let principalId;
49
+ if (args.options.groupName) {
50
+ principalId = yield this.getGroupPrincipalId(args.options);
51
+ }
52
+ else if (args.options.upn) {
53
+ principalId = yield this.getUserPrincipalId(args.options);
54
+ }
55
+ else {
56
+ principalId = args.options.principalId;
57
+ }
58
+ const serverRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(args.options.webUrl, fileURL);
59
+ const requestOptions = {
60
+ url: `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(serverRelativeUrl)}')/ListItemAllFields/roleassignments/removeroleassignment(principalid='${principalId}')`,
61
+ headers: {
62
+ accept: 'application/json;odata=nometadata'
63
+ },
64
+ responseType: 'json'
65
+ };
66
+ yield request_1.default.post(requestOptions);
67
+ }
68
+ catch (err) {
69
+ this.handleRejectedODataJsonPromise(err);
70
+ }
71
+ });
72
+ if (args.options.confirm) {
73
+ yield removeRoleAssignment();
74
+ }
75
+ else {
76
+ const result = yield Cli_1.Cli.prompt({
77
+ type: 'confirm',
78
+ name: 'continue',
79
+ default: false,
80
+ message: `Are you sure you want to remove role assignment from file ${args.options.fileUrl || args.options.fileId} from site ${args.options.webUrl}?`
81
+ });
82
+ if (result.continue) {
83
+ yield removeRoleAssignment();
84
+ }
85
+ }
86
+ });
87
+ }
88
+ getFileURL(args) {
89
+ return __awaiter(this, void 0, void 0, function* () {
90
+ if (args.options.fileUrl) {
91
+ return args.options.fileUrl;
92
+ }
93
+ const options = {
94
+ webUrl: args.options.webUrl,
95
+ id: args.options.fileId,
96
+ output: 'json',
97
+ debug: this.debug,
98
+ verbose: this.verbose
99
+ };
100
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoFileGetCommand, { options: Object.assign(Object.assign({}, options), { _: [] }) });
101
+ const getFileOutput = JSON.parse(output.stdout);
102
+ return getFileOutput.ServerRelativeUrl;
103
+ });
104
+ }
105
+ getUserPrincipalId(options) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ const userGetCommandOptions = {
108
+ webUrl: options.webUrl,
109
+ email: options.upn,
110
+ id: undefined,
111
+ output: 'json',
112
+ debug: this.debug,
113
+ verbose: this.verbose
114
+ };
115
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoUserGetCommand, { options: Object.assign(Object.assign({}, userGetCommandOptions), { _: [] }) });
116
+ const getUserOutput = JSON.parse(output.stdout);
117
+ return getUserOutput.Id;
118
+ });
119
+ }
120
+ getGroupPrincipalId(options) {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ const groupGetCommandOptions = {
123
+ webUrl: options.webUrl,
124
+ name: options.groupName,
125
+ output: 'json',
126
+ debug: this.debug,
127
+ verbose: this.verbose
128
+ };
129
+ const output = yield Cli_1.Cli.executeCommandWithOutput(SpoGroupGetCommand, { options: Object.assign(Object.assign({}, groupGetCommandOptions), { _: [] }) });
130
+ const getGroupOutput = JSON.parse(output.stdout);
131
+ return getGroupOutput.Id;
132
+ });
133
+ }
134
+ }
135
+ _SpoFileRoleAssignmentRemoveCommand_instances = new WeakSet(), _SpoFileRoleAssignmentRemoveCommand_initTelemetry = function _SpoFileRoleAssignmentRemoveCommand_initTelemetry() {
136
+ this.telemetry.push((args) => {
137
+ Object.assign(this.telemetryProperties, {
138
+ fileUrl: typeof args.options.fileUrl !== 'undefined',
139
+ fileId: typeof args.options.fileId !== 'undefined',
140
+ principalId: typeof args.options.principalId !== 'undefined',
141
+ upn: typeof args.options.upn !== 'undefined',
142
+ groupName: typeof args.options.groupName !== 'undefined',
143
+ confirm: !!args.options.confirm
144
+ });
145
+ });
146
+ }, _SpoFileRoleAssignmentRemoveCommand_initOptions = function _SpoFileRoleAssignmentRemoveCommand_initOptions() {
147
+ this.options.unshift({
148
+ option: '-u, --webUrl <webUrl>'
149
+ }, {
150
+ option: '--fileUrl [fileUrl]'
151
+ }, {
152
+ option: '-i, --fileId [fileId]'
153
+ }, {
154
+ option: '--principalId [principalId]'
155
+ }, {
156
+ option: '--upn [upn]'
157
+ }, {
158
+ option: '--groupName [groupName]'
159
+ }, {
160
+ option: '--confirm'
161
+ });
162
+ }, _SpoFileRoleAssignmentRemoveCommand_initValidators = function _SpoFileRoleAssignmentRemoveCommand_initValidators() {
163
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
164
+ const isValidSharePointUrl = validation_1.validation.isValidSharePointUrl(args.options.webUrl);
165
+ if (isValidSharePointUrl !== true) {
166
+ return isValidSharePointUrl;
167
+ }
168
+ if (args.options.principalId && isNaN(args.options.principalId)) {
169
+ return `Specified principalId ${args.options.principalId} is not a number`;
170
+ }
171
+ if (args.options.fileId && !validation_1.validation.isValidGuid(args.options.fileId)) {
172
+ return `${args.options.fileId} is not a valid GUID`;
173
+ }
174
+ return true;
175
+ }));
176
+ }, _SpoFileRoleAssignmentRemoveCommand_initOptionSets = function _SpoFileRoleAssignmentRemoveCommand_initOptionSets() {
177
+ this.optionSets.push(['fileUrl', 'fileId'], ['upn', 'groupName', 'principalId']);
178
+ };
179
+ module.exports = new SpoFileRoleAssignmentRemoveCommand();
180
+ //# sourceMappingURL=file-roleassignment-remove.js.map