@pnp/cli-microsoft365 6.0.0-beta.da9cd2c → 6.0.0-beta.dc71aa3

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 (268) hide show
  1. package/dist/cli/Cli.js +7 -10
  2. package/dist/m365/aad/commands/app/app-get.js +3 -2
  3. package/dist/m365/aad/commands/app/app-remove.js +3 -2
  4. package/dist/m365/aad/commands/app/app-role-add.js +3 -2
  5. package/dist/m365/aad/commands/app/app-role-list.js +3 -2
  6. package/dist/m365/aad/commands/app/app-role-remove.js +3 -2
  7. package/dist/m365/aad/commands/app/app-set.js +3 -2
  8. package/dist/m365/aad/commands/approleassignment/approleassignment-add.js +5 -4
  9. package/dist/m365/aad/commands/approleassignment/approleassignment-list.js +3 -2
  10. package/dist/m365/aad/commands/approleassignment/approleassignment-remove.js +5 -4
  11. package/dist/m365/aad/commands/o365group/o365group-conversation-post-list.js +2 -1
  12. package/dist/m365/aad/commands/o365group/o365group-list.js +3 -2
  13. package/dist/m365/aad/commands/o365group/o365group-recyclebinitem-list.js +3 -2
  14. package/dist/m365/aad/commands/o365group/o365group-teamify.js +3 -2
  15. package/dist/m365/aad/commands/o365group/o365group-user-add.js +2 -1
  16. package/dist/m365/aad/commands/o365group/o365group-user-remove.js +2 -1
  17. package/dist/m365/aad/commands/oauth2grant/oauth2grant-list.js +2 -1
  18. package/dist/m365/aad/commands/oauth2grant/oauth2grant-remove.js +2 -1
  19. package/dist/m365/aad/commands/oauth2grant/oauth2grant-set.js +2 -1
  20. package/dist/m365/aad/commands/sp/sp-add.js +3 -2
  21. package/dist/m365/aad/commands/sp/sp-get.js +3 -2
  22. package/dist/m365/aad/commands/user/user-get.js +5 -4
  23. package/dist/m365/aad/commands/user/user-hibp.js +2 -1
  24. package/dist/m365/aad/commands/user/user-list.js +2 -1
  25. package/dist/m365/aad/commands/user/user-set.js +2 -1
  26. package/dist/m365/aad/commands/user/user-signin-list.js +5 -4
  27. package/dist/m365/base/DateAndPeriodBasedReport.js +3 -2
  28. package/dist/m365/base/PeriodBasedReport.js +2 -1
  29. package/dist/m365/booking/commands/business/business-get.js +2 -1
  30. package/dist/m365/cli/commands/config/config-set.js +1 -0
  31. package/dist/m365/file/commands/file-list.js +2 -1
  32. package/dist/m365/flow/commands/environment/environment-get.js +2 -1
  33. package/dist/m365/flow/commands/flow-disable.js +2 -1
  34. package/dist/m365/flow/commands/flow-enable.js +2 -1
  35. package/dist/m365/flow/commands/flow-export.js +5 -4
  36. package/dist/m365/flow/commands/flow-get.js +2 -1
  37. package/dist/m365/flow/commands/flow-list.js +2 -1
  38. package/dist/m365/flow/commands/flow-remove.js +2 -1
  39. package/dist/m365/flow/commands/run/run-cancel.js +2 -1
  40. package/dist/m365/flow/commands/run/run-get.js +2 -1
  41. package/dist/m365/flow/commands/run/run-list.js +2 -1
  42. package/dist/m365/flow/commands/run/run-resubmit.js +3 -2
  43. package/dist/m365/outlook/commands/mail/mail-send.js +2 -1
  44. package/dist/m365/outlook/commands/message/message-list.js +2 -1
  45. package/dist/m365/outlook/commands/message/message-move.js +2 -1
  46. package/dist/m365/pa/commands/app/app-get.js +2 -1
  47. package/dist/m365/pa/commands/app/app-list.js +2 -1
  48. package/dist/m365/pa/commands/app/app-remove.js +2 -1
  49. package/dist/m365/pa/commands/connector/connector-export.js +2 -1
  50. package/dist/m365/pa/commands/connector/connector-list.js +2 -1
  51. package/dist/m365/pa/commands/environment/environment-get.js +2 -1
  52. package/dist/m365/planner/commands/task/task-add.js +1 -1
  53. package/dist/m365/planner/commands/task/task-checklistitem-add.js +3 -2
  54. package/dist/m365/planner/commands/task/task-checklistitem-list.js +2 -1
  55. package/dist/m365/planner/commands/task/task-checklistitem-remove.js +2 -1
  56. package/dist/m365/planner/commands/task/task-get.js +2 -1
  57. package/dist/m365/planner/commands/task/task-list.js +4 -3
  58. package/dist/m365/planner/commands/task/task-reference-add.js +2 -2
  59. package/dist/m365/planner/commands/task/task-reference-list.js +2 -1
  60. package/dist/m365/planner/commands/task/task-reference-remove.js +1 -1
  61. package/dist/m365/planner/commands/task/task-set.js +2 -2
  62. package/dist/m365/pp/commands/dataverse/dataverse-table-remove.js +95 -0
  63. package/dist/m365/pp/commands/gateway/gateway-get.js +2 -1
  64. package/dist/m365/pp/commands/managementapp/managementapp-add.js +3 -2
  65. package/dist/m365/pp/commands/solution/solution-list.js +5 -11
  66. package/dist/m365/pp/commands.js +1 -0
  67. package/dist/m365/search/commands/externalconnection/externalconnection-get.js +3 -2
  68. package/dist/m365/search/commands/externalconnection/externalconnection-remove.js +3 -2
  69. package/dist/m365/spo/commands/app/app-get.js +2 -1
  70. package/dist/m365/spo/commands/app/app-install.js +2 -1
  71. package/dist/m365/spo/commands/app/app-remove.js +2 -1
  72. package/dist/m365/spo/commands/app/app-retract.js +2 -1
  73. package/dist/m365/spo/commands/app/app-teamspackage-download.js +2 -1
  74. package/dist/m365/spo/commands/app/app-uninstall.js +2 -1
  75. package/dist/m365/spo/commands/app/app-upgrade.js +2 -1
  76. package/dist/m365/spo/commands/contenttype/contenttype-field-set.js +2 -2
  77. package/dist/m365/spo/commands/contenttype/contenttype-get.js +2 -2
  78. package/dist/m365/spo/commands/contenttype/contenttype-list.js +2 -1
  79. package/dist/m365/spo/commands/contenttype/contenttype-remove.js +3 -2
  80. package/dist/m365/spo/commands/customaction/customaction-get.js +3 -2
  81. package/dist/m365/spo/commands/customaction/customaction-remove.js +3 -2
  82. package/dist/m365/spo/commands/customaction/customaction-set.js +2 -1
  83. package/dist/m365/spo/commands/eventreceiver/eventreceiver-list.js +4 -3
  84. package/dist/m365/spo/commands/eventreceiver/eventreceiver-remove.js +49 -58
  85. package/dist/m365/spo/commands/file/file-add.js +14 -13
  86. package/dist/m365/spo/commands/file/file-checkin.js +4 -3
  87. package/dist/m365/spo/commands/file/file-checkout.js +3 -2
  88. package/dist/m365/spo/commands/file/file-copy.js +2 -1
  89. package/dist/m365/spo/commands/file/file-get.js +3 -2
  90. package/dist/m365/spo/commands/file/file-move.js +2 -1
  91. package/dist/m365/spo/commands/file/file-remove.js +3 -2
  92. package/dist/m365/spo/commands/file/file-rename.js +3 -2
  93. package/dist/m365/spo/commands/file/file-sharinginfo-get.js +1 -1
  94. package/dist/m365/spo/commands/file/file-version-clear.js +114 -0
  95. package/dist/m365/spo/commands/file/file-version-get.js +104 -0
  96. package/dist/m365/spo/commands/file/file-version-list.js +1 -1
  97. package/dist/m365/spo/commands/file/file-version-remove.js +119 -0
  98. package/dist/m365/spo/commands/file/file-version-restore.js +119 -0
  99. package/dist/m365/spo/commands/folder/folder-get.js +3 -2
  100. package/dist/m365/spo/commands/folder/folder-remove.js +2 -1
  101. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
  102. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +2 -1
  103. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
  104. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
  105. package/dist/m365/spo/commands/group/group-get.js +3 -2
  106. package/dist/m365/spo/commands/group/{group-user-add.js → group-member-add.js} +17 -16
  107. package/dist/m365/spo/commands/group/{group-user-list.js → group-member-list.js} +19 -18
  108. package/dist/m365/spo/commands/group/{group-user-remove.js → group-member-remove.js} +18 -17
  109. package/dist/m365/spo/commands/list/list-contenttype-remove.js +1 -1
  110. package/dist/m365/spo/commands/list/list-get.js +1 -1
  111. package/dist/m365/spo/commands/list/list-view-field-add.js +1 -1
  112. package/dist/m365/spo/commands/list/list-view-field-remove.js +1 -1
  113. package/dist/m365/spo/commands/list/list-view-field-set.js +1 -1
  114. package/dist/m365/spo/commands/listitem/listitem-get.js +1 -1
  115. package/dist/m365/spo/commands/listitem/listitem-list.js +3 -3
  116. package/dist/m365/spo/commands/page/Page.js +3 -2
  117. package/dist/m365/spo/commands/page/page-add.js +2 -1
  118. package/dist/m365/spo/commands/page/page-clientsidewebpart-add.js +4 -3
  119. package/dist/m365/spo/commands/page/page-control-get.js +2 -1
  120. package/dist/m365/spo/commands/page/page-control-list.js +2 -1
  121. package/dist/m365/spo/commands/page/page-control-set.js +3 -2
  122. package/dist/m365/spo/commands/page/page-get.js +2 -1
  123. package/dist/m365/spo/commands/page/page-header-set.js +6 -5
  124. package/dist/m365/spo/commands/page/page-section-add.js +4 -3
  125. package/dist/m365/spo/commands/page/page-set.js +2 -1
  126. package/dist/m365/spo/commands/site/site-apppermission-add.js +3 -2
  127. package/dist/m365/spo/commands/site/site-hubsite-connect.js +2 -1
  128. package/dist/m365/spo/commands/site/site-rename.js +2 -1
  129. package/dist/m365/spo/commands/site/site-set.js +1 -1
  130. package/dist/m365/spo/commands/sitescript/sitescript-add.js +2 -1
  131. package/dist/m365/spo/commands/spo-search.js +3 -2
  132. package/dist/m365/spo/commands/storageentity/storageentity-get.js +2 -1
  133. package/dist/m365/spo/commands/user/user-get.js +4 -3
  134. package/dist/m365/spo/commands/user/user-remove.js +2 -1
  135. package/dist/m365/spo/commands/userprofile/userprofile-get.js +2 -1
  136. package/dist/m365/spo/commands/web/web-add.js +2 -1
  137. package/dist/m365/spo/commands.js +7 -3
  138. package/dist/m365/teams/commands/app/app-install.js +3 -2
  139. package/dist/m365/teams/commands/app/app-list.js +2 -1
  140. package/dist/m365/teams/commands/app/app-publish.js +14 -15
  141. package/dist/m365/teams/commands/app/app-update.js +2 -1
  142. package/dist/m365/teams/commands/channel/channel-get.js +4 -3
  143. package/dist/m365/teams/commands/channel/channel-member-add.js +4 -3
  144. package/dist/m365/teams/commands/channel/channel-member-list.js +2 -1
  145. package/dist/m365/teams/commands/channel/channel-member-remove.js +2 -1
  146. package/dist/m365/teams/commands/channel/channel-member-set.js +2 -1
  147. package/dist/m365/teams/commands/channel/channel-remove.js +3 -2
  148. package/dist/m365/teams/commands/channel/channel-set.js +3 -2
  149. package/dist/m365/teams/commands/chat/chat-get.js +2 -1
  150. package/dist/m365/teams/commands/chat/chatUtil.js +2 -1
  151. package/dist/m365/teams/commands/funsettings/funsettings-list.js +2 -1
  152. package/dist/m365/teams/commands/funsettings/funsettings-set.js +2 -1
  153. package/dist/m365/teams/commands/guestsettings/guestsettings-list.js +2 -1
  154. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +2 -1
  155. package/dist/m365/teams/commands/membersettings/membersettings-list.js +2 -1
  156. package/dist/m365/teams/commands/membersettings/membersettings-set.js +2 -1
  157. package/dist/m365/teams/commands/messagingsettings/messagingsettings-list.js +2 -1
  158. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +2 -1
  159. package/dist/m365/teams/commands/report/report-directroutingcalls.js +3 -2
  160. package/dist/m365/teams/commands/report/report-pstncalls.js +3 -2
  161. package/dist/m365/teams/commands/tab/tab-add.js +2 -1
  162. package/dist/m365/teams/commands/tab/tab-get.js +4 -3
  163. package/dist/m365/teams/commands/tab/tab-list.js +2 -1
  164. package/dist/m365/teams/commands/tab/tab-remove.js +2 -1
  165. package/dist/m365/teams/commands/team/team-archive.js +2 -1
  166. package/dist/m365/teams/commands/team/team-clone.js +2 -1
  167. package/dist/m365/teams/commands/team/team-get.js +2 -1
  168. package/dist/m365/teams/commands/team/team-remove.js +2 -1
  169. package/dist/m365/teams/commands/team/team-set.js +2 -1
  170. package/dist/m365/teams/commands/team/team-unarchive.js +2 -1
  171. package/dist/m365/teams/commands/user/user-app-list.js +3 -2
  172. package/dist/m365/tenant/commands/security/security-alerts-list.js +2 -1
  173. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-get.js +2 -1
  174. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-healthissue-list.js +2 -1
  175. package/dist/m365/tenant/commands/serviceannouncement/serviceannouncement-message-list.js +2 -1
  176. package/dist/m365/todo/commands/task/task-set.js +2 -1
  177. package/dist/m365/yammer/commands/group/group-list.js +12 -27
  178. package/dist/m365/yammer/commands/user/user-get.js +3 -2
  179. package/dist/m365/yammer/commands/yammer-search.js +6 -2
  180. package/dist/utils/aadGroup.js +2 -1
  181. package/dist/utils/powerPlatform.js +3 -2
  182. package/dist/utils/spo.js +3 -2
  183. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.md +49 -0
  184. package/docs/docs/cmd/spo/eventreceiver/eventreceiver-remove.md +6 -1
  185. package/docs/docs/cmd/spo/file/file-version-clear.md +55 -0
  186. package/docs/docs/cmd/spo/file/file-version-get.md +76 -0
  187. package/docs/docs/cmd/spo/file/file-version-remove.md +58 -0
  188. package/docs/docs/cmd/spo/file/file-version-restore.md +58 -0
  189. package/docs/docs/cmd/spo/group/{group-user-add.md → group-member-add.md} +11 -11
  190. package/docs/docs/cmd/spo/group/{group-user-list.md → group-member-list.md} +5 -5
  191. package/docs/docs/cmd/spo/group/group-member-remove.md +39 -0
  192. package/docs/docs/cmd/spo/hubsite/hubsite-data-get.md +0 -3
  193. package/docs/docs/cmd/spo/hubsite/hubsite-rights-grant.md +2 -5
  194. package/docs/docs/cmd/spo/hubsite/hubsite-rights-revoke.md +2 -5
  195. package/docs/docs/cmd/spo/hubsite/hubsite-set.md +2 -5
  196. package/docs/docs/cmd/spo/site/site-hubsite-connect.md +0 -3
  197. package/docs/docs/cmd/spo/site/site-hubsite-disconnect.md +0 -5
  198. package/docs/docs/cmd/spo/site/site-hubsite-theme-sync.md +0 -5
  199. package/docs/docs/cmd/spo/spo-get.md +23 -0
  200. package/docs/docs/cmd/spo/spo-search.md +29 -0
  201. package/docs/docs/cmd/spo/spo-set.md +4 -0
  202. package/docs/docs/cmd/spo/user/user-get.md +49 -2
  203. package/docs/docs/cmd/spo/user/user-list.md +41 -0
  204. package/docs/docs/cmd/spo/user/user-remove.md +4 -0
  205. package/docs/docs/cmd/spo/userprofile/userprofile-get.md +586 -0
  206. package/docs/docs/cmd/spo/userprofile/userprofile-set.md +4 -0
  207. package/docs/docs/cmd/spo/web/web-add.md +43 -0
  208. package/docs/docs/cmd/spo/web/web-clientsidewebpart-list.md +29 -0
  209. package/docs/docs/cmd/spo/web/web-get.md +127 -0
  210. package/docs/docs/cmd/spo/web/web-installedlanguage-list.md +29 -0
  211. package/docs/docs/cmd/spo/web/web-list.md +81 -0
  212. package/docs/docs/cmd/spo/web/web-reindex.md +4 -0
  213. package/docs/docs/cmd/spo/web/web-remove.md +4 -0
  214. package/docs/docs/cmd/spo/web/web-roleassignment-add.md +4 -0
  215. package/docs/docs/cmd/spo/web/web-roleassignment-remove.md +4 -0
  216. package/docs/docs/cmd/spo/web/web-roleinheritance-reset.md +4 -0
  217. package/docs/docs/cmd/spo/web/web-set.md +4 -0
  218. package/docs/docs/cmd/teams/app/app-install.md +4 -0
  219. package/docs/docs/cmd/teams/app/app-list.md +30 -0
  220. package/docs/docs/cmd/teams/app/app-publish.md +31 -1
  221. package/docs/docs/cmd/teams/app/app-remove.md +4 -0
  222. package/docs/docs/cmd/teams/app/app-uninstall.md +4 -0
  223. package/docs/docs/cmd/teams/app/app-update.md +4 -0
  224. package/docs/docs/cmd/teams/cache/cache-remove.md +4 -0
  225. package/docs/docs/cmd/teams/channel/channel-add.md +37 -0
  226. package/docs/docs/cmd/teams/channel/channel-get.md +39 -0
  227. package/docs/docs/cmd/teams/channel/channel-list.md +35 -0
  228. package/docs/docs/cmd/teams/channel/channel-member-add.md +4 -0
  229. package/docs/docs/cmd/teams/channel/channel-member-list.md +37 -0
  230. package/docs/docs/cmd/teams/channel/channel-member-remove.md +4 -0
  231. package/docs/docs/cmd/teams/channel/channel-member-set.md +35 -0
  232. package/docs/docs/cmd/teams/channel/channel-remove.md +4 -0
  233. package/docs/docs/cmd/teams/channel/channel-set.md +3 -0
  234. package/docs/docs/cmd/teams/chat/chat-get.md +42 -0
  235. package/docs/docs/cmd/teams/chat/chat-list.md +38 -0
  236. package/docs/docs/cmd/teams/chat/chat-member-list.md +35 -0
  237. package/docs/docs/cmd/teams/chat/chat-message-list.md +60 -0
  238. package/docs/docs/cmd/teams/chat/chat-message-send.md +4 -0
  239. package/docs/docs/cmd/teams/funsettings/funsettings-list.md +29 -0
  240. package/docs/docs/cmd/teams/funsettings/funsettings-set.md +4 -0
  241. package/docs/docs/cmd/teams/guestsettings/guestsettings-list.md +25 -0
  242. package/docs/docs/cmd/teams/guestsettings/guestsettings-set.md +4 -0
  243. package/docs/docs/cmd/teams/membersettings/membersettings-list.md +33 -0
  244. package/docs/docs/cmd/teams/membersettings/membersettings-set.md +4 -0
  245. package/docs/docs/cmd/yammer/group/group-list.md +65 -0
  246. package/docs/docs/cmd/yammer/group/group-user-add.md +4 -0
  247. package/docs/docs/cmd/yammer/group/group-user-remove.md +4 -0
  248. package/docs/docs/cmd/yammer/message/message-add.md +55 -0
  249. package/docs/docs/cmd/yammer/message/message-get.md +64 -0
  250. package/docs/docs/cmd/yammer/message/message-like-set.md +4 -0
  251. package/docs/docs/cmd/yammer/message/message-list.md +60 -0
  252. package/docs/docs/cmd/yammer/message/message-remove.md +4 -0
  253. package/docs/docs/cmd/yammer/network/network-list.md +96 -0
  254. package/docs/docs/cmd/yammer/report/report-activitycounts.md +31 -0
  255. package/docs/docs/cmd/yammer/report/report-activityusercounts.md +31 -0
  256. package/docs/docs/cmd/yammer/report/report-activityuserdetail.md +36 -0
  257. package/docs/docs/cmd/yammer/report/report-deviceusagedistributionusercounts.md +33 -0
  258. package/docs/docs/cmd/yammer/report/report-deviceusageusercounts.md +34 -0
  259. package/docs/docs/cmd/yammer/report/report-deviceusageuserdetail.md +38 -0
  260. package/docs/docs/cmd/yammer/report/report-groupsactivitycounts.md +31 -0
  261. package/docs/docs/cmd/yammer/report/report-groupsactivitydetail.md +37 -0
  262. package/docs/docs/cmd/yammer/report/report-groupsactivitygroupcounts.md +30 -0
  263. package/docs/docs/cmd/yammer/user/user-get.md +99 -0
  264. package/docs/docs/cmd/yammer/user/user-list.md +97 -0
  265. package/docs/docs/cmd/yammer/yammer-search.md +77 -0
  266. package/npm-shrinkwrap.json +235 -257
  267. package/package.json +15 -15
  268. package/docs/docs/cmd/spo/group/group-user-remove.md +0 -39
@@ -40,74 +40,57 @@ class SpoEventreceiverRemoveCommand extends SpoCommand_1.default {
40
40
  }
41
41
  commandAction(logger, args) {
42
42
  return __awaiter(this, void 0, void 0, function* () {
43
- try {
44
- const getEventReceiversOutput = yield this.getEventReceivers(args.options);
45
- const eventReceivers = JSON.parse(getEventReceiversOutput.stdout);
46
- if (!eventReceivers.length) {
47
- throw Error(`Specified event receiver with ${args.options.id !== undefined ? `id ${args.options.id}` : `name ${args.options.name}`} cannot be found`);
43
+ if (args.options.confirm) {
44
+ yield this.removeEventReceiver(args.options);
45
+ }
46
+ else {
47
+ const result = yield Cli_1.Cli.prompt({
48
+ type: 'confirm',
49
+ name: 'continue',
50
+ default: false,
51
+ message: `Are you sure you want to remove event receiver with ${args.options.id ? `id ${args.options.id}` : `name ${args.options.name}`}?`
52
+ });
53
+ if (result.continue) {
54
+ yield this.removeEventReceiver(args.options);
48
55
  }
49
- if (eventReceivers.length > 1) {
50
- throw Error(`Multiple eventreceivers with ${args.options.id !== undefined ? `id ${args.options.id} found` : `name ${args.options.name}, ids: ${eventReceivers.map(x => x.ReceiverId)} found`}`);
56
+ }
57
+ });
58
+ }
59
+ removeEventReceiver(options) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ try {
62
+ let requestUrl = `${options.webUrl}/_api/${options.scope || 'web'}`;
63
+ if (options.listId) {
64
+ requestUrl += `/lists('${options.listId}')`;
51
65
  }
52
- if (args.options.confirm) {
53
- yield this.removeEventReceiver(args.options);
66
+ else if (options.listTitle) {
67
+ requestUrl += `/lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(options.listTitle)}')`;
54
68
  }
55
- else {
56
- const result = yield Cli_1.Cli.prompt({
57
- type: 'confirm',
58
- name: 'continue',
59
- default: false,
60
- message: `Are you sure you want to remove event receiver with ${args.options.id !== undefined ? `id ${args.options.id}` : `name ${args.options.name}`}?`
61
- });
62
- if (result.continue) {
63
- yield this.removeEventReceiver(args.options);
64
- }
69
+ else if (options.listUrl) {
70
+ const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(options.webUrl, options.listUrl);
71
+ requestUrl += `/GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')`;
65
72
  }
73
+ const rerId = yield this.getEventReceiverId(options);
74
+ requestUrl += `/eventreceivers('${rerId}')`;
75
+ const requestOptions = {
76
+ url: requestUrl,
77
+ headers: {
78
+ 'accept': 'application/json;odata=nometadata'
79
+ },
80
+ responseType: 'json'
81
+ };
82
+ yield request_1.default.delete(requestOptions);
66
83
  }
67
84
  catch (err) {
68
85
  this.handleRejectedODataJsonPromise(err);
69
86
  }
70
87
  });
71
88
  }
72
- removeEventReceiver(options) {
89
+ getEventReceiverId(options) {
73
90
  return __awaiter(this, void 0, void 0, function* () {
74
- let requestUrl = `${options.webUrl}/_api/`;
75
- let listUrl = '';
76
- let filter = '?$filter=';
77
- if (options.listId) {
78
- listUrl = `lists(guid'${formatting_1.formatting.encodeQueryParameter(options.listId)}')/`;
79
- }
80
- else if (options.listTitle) {
81
- listUrl = `lists/getByTitle('${formatting_1.formatting.encodeQueryParameter(options.listTitle)}')/`;
82
- }
83
- else if (options.listUrl) {
84
- const listServerRelativeUrl = urlUtil_1.urlUtil.getServerRelativePath(options.webUrl, options.listUrl);
85
- listUrl = `GetList('${formatting_1.formatting.encodeQueryParameter(listServerRelativeUrl)}')/`;
86
- }
87
- if (!options.scope || options.scope === 'web') {
88
- requestUrl += `web/${listUrl}eventreceivers`;
89
- }
90
- else {
91
- requestUrl += 'site/eventreceivers';
92
- }
93
91
  if (options.id) {
94
- filter += `receiverid eq (guid'${options.id}')`;
95
- }
96
- else {
97
- filter += `receivername eq '${options.name}'`;
92
+ return options.id;
98
93
  }
99
- const requestOptions = {
100
- url: requestUrl + filter,
101
- headers: {
102
- 'accept': 'application/json;odata=nometadata'
103
- },
104
- responseType: 'json'
105
- };
106
- yield request_1.default.delete(requestOptions);
107
- });
108
- }
109
- getEventReceivers(options) {
110
- return __awaiter(this, void 0, void 0, function* () {
111
94
  const getOptions = {
112
95
  webUrl: options.webUrl,
113
96
  listId: options.listId,
@@ -119,7 +102,15 @@ class SpoEventreceiverRemoveCommand extends SpoCommand_1.default {
119
102
  debug: this.debug,
120
103
  verbose: this.verbose
121
104
  };
122
- return yield Cli_1.Cli.executeCommandWithOutput(getCommand, { options: Object.assign(Object.assign({}, getOptions), { _: [] }) });
105
+ const commandOutput = yield Cli_1.Cli.executeCommandWithOutput(getCommand, { options: Object.assign(Object.assign({}, getOptions), { _: [] }) });
106
+ const eventReceivers = JSON.parse(commandOutput.stdout);
107
+ if (!eventReceivers.length) {
108
+ throw Error(`Specified event receiver with name '${options.name}' cannot be found`);
109
+ }
110
+ if (eventReceivers.length > 1) {
111
+ throw Error(`Multiple eventreceivers with name '${options.name}' found: ${eventReceivers.map(x => x.ReceiverId)}`);
112
+ }
113
+ return eventReceivers[0].ReceiverId;
123
114
  });
124
115
  }
125
116
  }
@@ -129,10 +120,10 @@ _SpoEventreceiverRemoveCommand_instances = new WeakSet(), _SpoEventreceiverRemov
129
120
  listId: typeof args.options.listId !== 'undefined',
130
121
  listTitle: typeof args.options.listTitle !== 'undefined',
131
122
  listUrl: typeof args.options.listUrl !== 'undefined',
132
- scope: typeof args.options.scope !== 'undefined',
123
+ scope: args.options.scope || 'web',
133
124
  id: typeof args.options.id !== 'undefined',
134
125
  name: typeof args.options.name !== 'undefined',
135
- confirm: (!(!args.options.confirm)).toString()
126
+ confirm: !!args.options.confirm
136
127
  });
137
128
  });
138
129
  }, _SpoEventreceiverRemoveCommand_initOptions = function _SpoEventreceiverRemoveCommand_initOptions() {
@@ -19,6 +19,7 @@ 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 formatting_1 = require("../../../../utils/formatting");
22
23
  const fsUtil_1 = require("../../../../utils/fsUtil");
23
24
  const spo_1 = require("../../../../utils/spo");
24
25
  const urlUtil_1 = require("../../../../utils/urlUtil");
@@ -65,7 +66,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
65
66
  try {
66
67
  try {
67
68
  const requestOptions = {
68
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')`,
69
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folderPath)}')`,
69
70
  headers: {
70
71
  'accept': 'application/json;odata=nometadata'
71
72
  }
@@ -99,7 +100,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
99
100
  // initiate chunked upload session
100
101
  const uploadId = (0, uuid_1.v4)();
101
102
  const requestOptions = {
102
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files/GetByPathOrAddStub(DecodedUrl='${encodeURIComponent(fileName)}')/StartUpload(uploadId=guid'${uploadId}')`,
103
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folderPath)}')/Files/GetByPathOrAddStub(DecodedUrl='${formatting_1.formatting.encodeQueryParameter(fileName)}')/StartUpload(uploadId=guid'${uploadId}')`,
103
104
  headers: {
104
105
  'accept': 'application/json;odata=nometadata'
105
106
  }
@@ -129,7 +130,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
129
130
  logger.logToStderr('Cancelling upload session due to error...');
130
131
  }
131
132
  const requestOptions = {
132
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/cancelupload(uploadId=guid'${uploadId}')`,
133
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folderPath)}')/Files('${formatting_1.formatting.encodeQueryParameter(fileName)}')/cancelupload(uploadId=guid'${uploadId}')`,
133
134
  headers: {
134
135
  'accept': 'application/json;odata=nometadata'
135
136
  }
@@ -151,7 +152,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
151
152
  const fileBody = fs.readFileSync(fullPath);
152
153
  const bodyLength = fileBody.byteLength;
153
154
  const requestOptions = {
154
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files/Add(url='${encodeURIComponent(fileName)}', overwrite=true)`,
155
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folderPath)}')/Files/Add(url='${formatting_1.formatting.encodeQueryParameter(fileName)}', overwrite=true)`,
155
156
  data: fileBody,
156
157
  headers: {
157
158
  'accept': 'application/json;odata=nometadata',
@@ -193,7 +194,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
193
194
  }
194
195
  // approve the existing file with given comment
195
196
  const requestOptions = {
196
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/approve(comment='${encodeURIComponent(args.options.approveComment || '')}')`,
197
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folderPath)}')/Files('${formatting_1.formatting.encodeQueryParameter(fileName)}')/approve(comment='${formatting_1.formatting.encodeQueryParameter(args.options.approveComment || '')}')`,
197
198
  headers: {
198
199
  'accept': 'application/json;odata=nometadata'
199
200
  },
@@ -210,7 +211,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
210
211
  }
211
212
  // publish the existing file with given comment
212
213
  const requestOptions = {
213
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/publish(comment='${encodeURIComponent(args.options.publishComment || '')}')`,
214
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folderPath)}')/Files('${formatting_1.formatting.encodeQueryParameter(fileName)}')/publish(comment='${formatting_1.formatting.encodeQueryParameter(args.options.publishComment || '')}')`,
214
215
  headers: {
215
216
  'accept': 'application/json;odata=nometadata'
216
217
  },
@@ -224,7 +225,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
224
225
  // in a case the command has done checkout
225
226
  // then have to rollback the checkout
226
227
  const requestOptions = {
227
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/UndoCheckOut()`
228
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folderPath)}')/Files('${formatting_1.formatting.encodeQueryParameter(fileName)}')/UndoCheckOut()`
228
229
  };
229
230
  try {
230
231
  yield request_1.default.post(requestOptions);
@@ -265,7 +266,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
265
266
  fileCheckOut(fileName, webUrl, folder) {
266
267
  // check if file already exists, otherwise it can't be checked out
267
268
  const requestOptions = {
268
- url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folder)}')/Files('${encodeURIComponent(fileName)}')`,
269
+ url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folder)}')/Files('${formatting_1.formatting.encodeQueryParameter(fileName)}')`,
269
270
  headers: {
270
271
  'accept': 'application/json;odata=nometadata'
271
272
  }
@@ -274,7 +275,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
274
275
  .then(() => {
275
276
  // checkout the existing file
276
277
  const requestOptions = {
277
- url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folder)}')/Files('${encodeURIComponent(fileName)}')/CheckOut()`,
278
+ url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folder)}')/Files('${formatting_1.formatting.encodeQueryParameter(fileName)}')/CheckOut()`,
278
279
  headers: {
279
280
  'accept': 'application/json;odata=nometadata'
280
281
  },
@@ -299,7 +300,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
299
300
  fileBuffer = fileBuffer.slice(0, readCount);
300
301
  }
301
302
  const requestOptions = {
302
- url: `${info.WebUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(info.FolderPath)}')/Files('${encodeURIComponent(info.Name)}')/${isLastChunk ? 'Finish' : 'Continue'}Upload(uploadId=guid'${info.Id}',fileOffset=${offset})`,
303
+ url: `${info.WebUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(info.FolderPath)}')/Files('${formatting_1.formatting.encodeQueryParameter(info.Name)}')/${isLastChunk ? 'Finish' : 'Continue'}Upload(uploadId=guid'${info.Id}',fileOffset=${offset})`,
303
304
  data: fileBuffer,
304
305
  headers: {
305
306
  'accept': 'application/json;odata=nometadata',
@@ -357,7 +358,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
357
358
  logger.logToStderr(`Getting list details in order to get its available content types afterwards...`);
358
359
  }
359
360
  const requestOptions = {
360
- url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folder)}')/Files('${encodeURIComponent(fileName)}')/ListItemAllFields/ParentList?$Select=Id,EnableModeration,EnableVersioning,EnableMinorVersions`,
361
+ url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folder)}')/Files('${formatting_1.formatting.encodeQueryParameter(fileName)}')/ListItemAllFields/ParentList?$Select=Id,EnableModeration,EnableVersioning,EnableMinorVersions`,
361
362
  headers: {
362
363
  'accept': 'application/json;odata=nometadata'
363
364
  },
@@ -380,7 +381,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
380
381
  }
381
382
  // update the existing file list item fields
382
383
  const requestOptions = {
383
- url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(folderPath)}')/Files('${encodeURIComponent(fileName)}')/ListItemAllFields/ValidateUpdateListItem()`,
384
+ url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(folderPath)}')/Files('${formatting_1.formatting.encodeQueryParameter(fileName)}')/ListItemAllFields/ValidateUpdateListItem()`,
384
385
  headers: {
385
386
  'accept': 'application/json;odata=nometadata'
386
387
  },
@@ -404,7 +405,7 @@ class SpoFileAddCommand extends SpoCommand_1.default {
404
405
  }
405
406
  fileCheckIn(args, fileName) {
406
407
  const requestOptions = {
407
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${encodeURIComponent(args.options.folder)}')/Files('${encodeURIComponent(fileName)}')/CheckIn(comment='${encodeURIComponent(args.options.checkInComment || '')}',checkintype=0)`,
408
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(args.options.folder)}')/Files('${formatting_1.formatting.encodeQueryParameter(fileName)}')/CheckIn(comment='${formatting_1.formatting.encodeQueryParameter(args.options.checkInComment || '')}',checkintype=0)`,
408
409
  headers: {
409
410
  'accept': 'application/json;odata=nometadata'
410
411
  },
@@ -16,6 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoFileCheckinCommand_instances, _SpoFileCheckinCommand_initTelemetry, _SpoFileCheckinCommand_initOptions, _SpoFileCheckinCommand_initValidators, _SpoFileCheckinCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
+ const formatting_1 = require("../../../../utils/formatting");
19
20
  const validation_1 = require("../../../../utils/validation");
20
21
  const SpoCommand_1 = require("../../../base/SpoCommand");
21
22
  const commands_1 = require("../../commands");
@@ -54,14 +55,14 @@ class SpoFileCheckinCommand extends SpoCommand_1.default {
54
55
  }
55
56
  let comment = '';
56
57
  if (args.options.comment) {
57
- comment = encodeURIComponent(args.options.comment);
58
+ comment = formatting_1.formatting.encodeQueryParameter(args.options.comment);
58
59
  }
59
60
  let requestUrl = '';
60
61
  if (args.options.id) {
61
- requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${encodeURIComponent(args.options.id)}')/checkin(comment='${comment}',checkintype=${type})`;
62
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${formatting_1.formatting.encodeQueryParameter(args.options.id)}')/checkin(comment='${comment}',checkintype=${type})`;
62
63
  }
63
64
  if (args.options.url) {
64
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(args.options.url)}')/checkin(comment='${comment}',checkintype=${type})`;
65
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(args.options.url)}')/checkin(comment='${comment}',checkintype=${type})`;
65
66
  }
66
67
  const requestOptions = {
67
68
  url: requestUrl,
@@ -16,6 +16,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
16
16
  var _SpoFileCheckoutCommand_instances, _SpoFileCheckoutCommand_initTelemetry, _SpoFileCheckoutCommand_initOptions, _SpoFileCheckoutCommand_initValidators, _SpoFileCheckoutCommand_initOptionSets;
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const request_1 = require("../../../../request");
19
+ const formatting_1 = require("../../../../utils/formatting");
19
20
  const validation_1 = require("../../../../utils/validation");
20
21
  const SpoCommand_1 = require("../../../base/SpoCommand");
21
22
  const commands_1 = require("../../commands");
@@ -38,10 +39,10 @@ class SpoFileCheckoutCommand extends SpoCommand_1.default {
38
39
  return __awaiter(this, void 0, void 0, function* () {
39
40
  let requestUrl = '';
40
41
  if (args.options.id) {
41
- requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${encodeURIComponent(args.options.id)}')/checkout`;
42
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${formatting_1.formatting.encodeQueryParameter(args.options.id)}')/checkout`;
42
43
  }
43
44
  if (args.options.url) {
44
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(args.options.url)}')/checkout`;
45
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(args.options.url)}')/checkout`;
45
46
  }
46
47
  const requestOptions = {
47
48
  url: requestUrl,
@@ -23,6 +23,7 @@ const urlUtil_1 = require("../../../../utils/urlUtil");
23
23
  const validation_1 = require("../../../../utils/validation");
24
24
  const SpoCommand_1 = require("../../../base/SpoCommand");
25
25
  const commands_1 = require("../../commands");
26
+ const formatting_1 = require("../../../../utils/formatting");
26
27
  const removeCommand = require('./file-remove');
27
28
  class SpoFileCopyCommand extends SpoCommand_1.default {
28
29
  constructor() {
@@ -110,7 +111,7 @@ class SpoFileCopyCommand extends SpoCommand_1.default {
110
111
  fileExists(tenantUrl, webUrl, sourceUrl) {
111
112
  const webServerRelativeUrl = webUrl.replace(tenantUrl, '');
112
113
  const fileServerRelativeUrl = `${webServerRelativeUrl}${sourceUrl}`;
113
- const requestUrl = `${webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(fileServerRelativeUrl)}')/`;
114
+ const requestUrl = `${webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(fileServerRelativeUrl)}')/`;
114
115
  const requestOptions = {
115
116
  url: requestUrl,
116
117
  method: 'GET',
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const fs = require("fs");
19
19
  const path = require("path");
20
20
  const request_1 = require("../../../../request");
21
+ const formatting_1 = require("../../../../utils/formatting");
21
22
  const validation_1 = require("../../../../utils/validation");
22
23
  const SpoCommand_1 = require("../../../base/SpoCommand");
23
24
  const commands_1 = require("../../commands");
@@ -47,7 +48,7 @@ class SpoFileGetCommand extends SpoCommand_1.default {
47
48
  let requestUrl = '';
48
49
  let options = '';
49
50
  if (args.options.id) {
50
- requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${encodeURIComponent(args.options.id)}')`;
51
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${formatting_1.formatting.encodeQueryParameter(args.options.id)}')`;
51
52
  }
52
53
  else if (args.options.url) {
53
54
  requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativePath(DecodedUrl=@f)`;
@@ -65,7 +66,7 @@ class SpoFileGetCommand extends SpoCommand_1.default {
65
66
  else {
66
67
  options += '&';
67
68
  }
68
- options += `@f='${encodeURIComponent(args.options.url)}'`;
69
+ options += `@f='${formatting_1.formatting.encodeQueryParameter(args.options.url)}'`;
69
70
  }
70
71
  const requestOptions = {
71
72
  url: requestUrl + options,
@@ -23,6 +23,7 @@ const urlUtil_1 = require("../../../../utils/urlUtil");
23
23
  const validation_1 = require("../../../../utils/validation");
24
24
  const SpoCommand_1 = require("../../../base/SpoCommand");
25
25
  const commands_1 = require("../../commands");
26
+ const formatting_1 = require("../../../../utils/formatting");
26
27
  const removeCommand = require('./file-remove');
27
28
  class SpoFileMoveCommand extends SpoCommand_1.default {
28
29
  constructor() {
@@ -111,7 +112,7 @@ class SpoFileMoveCommand extends SpoCommand_1.default {
111
112
  fileExists(tenantUrl, webUrl, sourceUrl) {
112
113
  const webServerRelativeUrl = webUrl.replace(tenantUrl, '');
113
114
  const fileServerRelativeUrl = `${webServerRelativeUrl}${sourceUrl}`;
114
- const requestUrl = `${webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(fileServerRelativeUrl)}')/`;
115
+ const requestUrl = `${webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(fileServerRelativeUrl)}')/`;
115
116
  const requestOptions = {
116
117
  url: requestUrl,
117
118
  method: 'GET',
@@ -17,6 +17,7 @@ var _SpoFileRemoveCommand_instances, _SpoFileRemoveCommand_initTelemetry, _SpoFi
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const Cli_1 = require("../../../../cli/Cli");
19
19
  const request_1 = require("../../../../request");
20
+ const formatting_1 = require("../../../../utils/formatting");
20
21
  const validation_1 = require("../../../../utils/validation");
21
22
  const SpoCommand_1 = require("../../../base/SpoCommand");
22
23
  const commands_1 = require("../../commands");
@@ -46,7 +47,7 @@ class SpoFileRemoveCommand extends SpoCommand_1.default {
46
47
  }
47
48
  let requestUrl = '';
48
49
  if (args.options.id) {
49
- requestUrl = `${args.options.webUrl}/_api/web/GetFileById(guid'${encodeURIComponent(args.options.id)}')`;
50
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileById(guid'${formatting_1.formatting.encodeQueryParameter(args.options.id)}')`;
50
51
  }
51
52
  else {
52
53
  // concatenate trailing '/' if not provided
@@ -60,7 +61,7 @@ class SpoFileRemoveCommand extends SpoCommand_1.default {
60
61
  if (!fileUrl.startsWith(serverRelativeSiteUrl)) {
61
62
  fileUrl = `${serverRelativeSiteUrl}${fileUrl}`;
62
63
  }
63
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(fileUrl)}')`;
64
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(fileUrl)}')`;
64
65
  }
65
66
  if (args.options.recycle) {
66
67
  requestUrl += `/recycle()`;
@@ -17,6 +17,7 @@ var _SpoFileRenameCommand_instances, _SpoFileRenameCommand_initTelemetry, _SpoFi
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const Cli_1 = require("../../../../cli/Cli");
19
19
  const request_1 = require("../../../../request");
20
+ const formatting_1 = require("../../../../utils/formatting");
20
21
  const urlUtil_1 = require("../../../../utils/urlUtil");
21
22
  const validation_1 = require("../../../../utils/validation");
22
23
  const SpoCommand_1 = require("../../../base/SpoCommand");
@@ -52,7 +53,7 @@ class SpoFileRenameCommand extends SpoCommand_1.default {
52
53
  }]
53
54
  };
54
55
  const requestOptions = {
55
- url: `${webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(originalFileServerRelativeUrl)}')/ListItemAllFields/ValidateUpdateListItem()`,
56
+ url: `${webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(originalFileServerRelativeUrl)}')/ListItemAllFields/ValidateUpdateListItem()`,
56
57
  headers: {
57
58
  'accept': 'application/json;odata=nometadata'
58
59
  },
@@ -68,7 +69,7 @@ class SpoFileRenameCommand extends SpoCommand_1.default {
68
69
  });
69
70
  }
70
71
  getFile(originalFileServerRelativeUrl, webUrl) {
71
- const requestUrl = `${webUrl}/_api/web/GetFileByServerRelativeUrl('${encodeURIComponent(originalFileServerRelativeUrl)}')?$select=UniqueId`;
72
+ const requestUrl = `${webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(originalFileServerRelativeUrl)}')?$select=UniqueId`;
72
73
  const requestOptions = {
73
74
  url: requestUrl,
74
75
  headers: {
@@ -97,7 +97,7 @@ class SpoFileSharinginfoGetCommand extends SpoCommand_1.default {
97
97
  requestUrl = `${args.options.webUrl}/_api/web/GetFileById('${escape(args.options.fileId)}')/?$select=ListItemAllFields/Id,ListItemAllFields/ParentList/Title&$expand=ListItemAllFields/ParentList`;
98
98
  }
99
99
  else {
100
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativePath(decodedUrl='${encodeURIComponent(args.options.fileUrl)}')?$select=ListItemAllFields/Id,ListItemAllFields/ParentList/Title&$expand=ListItemAllFields/ParentList`;
100
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativePath(decodedUrl='${formatting_1.formatting.encodeQueryParameter(args.options.fileUrl)}')?$select=ListItemAllFields/Id,ListItemAllFields/ParentList/Title&$expand=ListItemAllFields/ParentList`;
101
101
  }
102
102
  const requestOptions = {
103
103
  url: requestUrl,
@@ -0,0 +1,114 @@
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 _SpoFileVersionClearCommand_instances, _SpoFileVersionClearCommand_initTelemetry, _SpoFileVersionClearCommand_initOptions, _SpoFileVersionClearCommand_initValidators, _SpoFileVersionClearCommand_initOptionSets;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const Cli_1 = require("../../../../cli/Cli");
19
+ const request_1 = require("../../../../request");
20
+ const formatting_1 = require("../../../../utils/formatting");
21
+ const validation_1 = require("../../../../utils/validation");
22
+ const SpoCommand_1 = require("../../../base/SpoCommand");
23
+ const commands_1 = require("../../commands");
24
+ class SpoFileVersionClearCommand extends SpoCommand_1.default {
25
+ constructor() {
26
+ super();
27
+ _SpoFileVersionClearCommand_instances.add(this);
28
+ __classPrivateFieldGet(this, _SpoFileVersionClearCommand_instances, "m", _SpoFileVersionClearCommand_initTelemetry).call(this);
29
+ __classPrivateFieldGet(this, _SpoFileVersionClearCommand_instances, "m", _SpoFileVersionClearCommand_initOptions).call(this);
30
+ __classPrivateFieldGet(this, _SpoFileVersionClearCommand_instances, "m", _SpoFileVersionClearCommand_initValidators).call(this);
31
+ __classPrivateFieldGet(this, _SpoFileVersionClearCommand_instances, "m", _SpoFileVersionClearCommand_initOptionSets).call(this);
32
+ }
33
+ get name() {
34
+ return commands_1.default.FILE_VERSION_CLEAR;
35
+ }
36
+ get description() {
37
+ return 'Deletes all file version history of a file in a SharePoint Document library';
38
+ }
39
+ commandAction(logger, args) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ if (this.verbose) {
42
+ logger.logToStderr(`Deletes all version history of the file ${args.options.fileUrl || args.options.fileId} at site ${args.options.webUrl}...`);
43
+ }
44
+ try {
45
+ if (args.options.confirm) {
46
+ yield this.clearVersions(args);
47
+ }
48
+ else {
49
+ const result = yield Cli_1.Cli.prompt({
50
+ type: 'confirm',
51
+ name: 'continue',
52
+ default: false,
53
+ message: `Are you sure you want to delete all version history for file ${args.options.fileId || args.options.fileUrl}'?`
54
+ });
55
+ if (result.continue) {
56
+ yield this.clearVersions(args);
57
+ }
58
+ }
59
+ }
60
+ catch (err) {
61
+ this.handleRejectedODataJsonPromise(err);
62
+ }
63
+ });
64
+ }
65
+ clearVersions(args) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ let requestUrl = `${args.options.webUrl}/_api/web/`;
68
+ if (args.options.fileUrl) {
69
+ requestUrl += `GetFileByServerRelativeUrl('${formatting_1.formatting.encodeQueryParameter(args.options.fileUrl)}')/versions/DeleteAll()`;
70
+ }
71
+ else {
72
+ requestUrl += `GetFileById('${args.options.fileId}')/versions/DeleteAll()`;
73
+ }
74
+ const requestOptions = {
75
+ url: requestUrl,
76
+ headers: {
77
+ 'accept': 'application/json;odata=nometadata'
78
+ },
79
+ responseType: 'json'
80
+ };
81
+ yield request_1.default.post(requestOptions);
82
+ });
83
+ }
84
+ }
85
+ _SpoFileVersionClearCommand_instances = new WeakSet(), _SpoFileVersionClearCommand_initTelemetry = function _SpoFileVersionClearCommand_initTelemetry() {
86
+ this.telemetry.push((args) => {
87
+ Object.assign(this.telemetryProperties, {
88
+ fileUrl: args.options.fileUrl,
89
+ fileId: args.options.fileId,
90
+ confirm: (!!args.options.confirm).toString()
91
+ });
92
+ });
93
+ }, _SpoFileVersionClearCommand_initOptions = function _SpoFileVersionClearCommand_initOptions() {
94
+ this.options.unshift({
95
+ option: '-w, --webUrl <webUrl>'
96
+ }, {
97
+ option: '-u, --fileUrl [fileUrl]'
98
+ }, {
99
+ option: '-i, --fileId [fileId]'
100
+ }, {
101
+ option: '--confirm'
102
+ });
103
+ }, _SpoFileVersionClearCommand_initValidators = function _SpoFileVersionClearCommand_initValidators() {
104
+ this.validators.push((args) => __awaiter(this, void 0, void 0, function* () {
105
+ if (args.options.fileId && !validation_1.validation.isValidGuid(args.options.fileId)) {
106
+ return `${args.options.fileId} is not a valid GUID`;
107
+ }
108
+ return validation_1.validation.isValidSharePointUrl(args.options.webUrl);
109
+ }));
110
+ }, _SpoFileVersionClearCommand_initOptionSets = function _SpoFileVersionClearCommand_initOptionSets() {
111
+ this.optionSets.push(['fileUrl', 'fileId']);
112
+ };
113
+ module.exports = new SpoFileVersionClearCommand();
114
+ //# sourceMappingURL=file-version-clear.js.map