@pnp/cli-microsoft365 7.0.0-beta.4ebf3ad → 7.0.0-beta.515b009

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 (291) hide show
  1. package/.eslintrc.cjs +1 -3
  2. package/dist/Auth.js +2 -1
  3. package/dist/Command.js +1 -1
  4. package/dist/GlobalOptions.js +1 -7
  5. package/dist/cli/Cli.js +19 -2
  6. package/dist/m365/aad/commands/app/app-add.js +8 -8
  7. package/dist/m365/aad/commands/app/app-role-add.js +5 -5
  8. package/dist/m365/aad/commands/app/app-set.js +5 -5
  9. package/dist/m365/aad/commands/{o365group/o365group-add.js → m365group/m365group-add.js} +17 -17
  10. package/dist/m365/aad/commands/{o365group/o365group-conversation-list.js → m365group/m365group-conversation-list.js} +10 -10
  11. package/dist/m365/aad/commands/{o365group/o365group-conversation-post-list.js → m365group/m365group-conversation-post-list.js} +14 -14
  12. package/dist/m365/aad/commands/{o365group/o365group-get.js → m365group/m365group-get.js} +13 -10
  13. package/dist/m365/aad/commands/{o365group/o365group-list.js → m365group/m365group-list.js} +13 -28
  14. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-clear.js → m365group/m365group-recyclebinitem-clear.js} +15 -15
  15. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-list.js → m365group/m365group-recyclebinitem-list.js} +10 -10
  16. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-remove.js → m365group/m365group-recyclebinitem-remove.js} +14 -14
  17. package/dist/m365/aad/commands/{o365group/o365group-recyclebinitem-restore.js → m365group/m365group-recyclebinitem-restore.js} +14 -14
  18. package/dist/m365/aad/commands/{o365group/o365group-remove.js → m365group/m365group-remove.js} +12 -12
  19. package/dist/m365/aad/commands/{o365group/o365group-renew.js → m365group/m365group-renew.js} +10 -10
  20. package/dist/m365/aad/commands/{o365group/o365group-report-activitycounts.js → m365group/m365group-report-activitycounts.js} +4 -4
  21. package/dist/m365/aad/commands/{o365group/o365group-report-activitydetail.js → m365group/m365group-report-activitydetail.js} +4 -4
  22. package/dist/m365/aad/commands/{o365group/o365group-report-activityfilecounts.js → m365group/m365group-report-activityfilecounts.js} +4 -4
  23. package/dist/m365/aad/commands/{o365group/o365group-report-activitygroupcounts.js → m365group/m365group-report-activitygroupcounts.js} +4 -4
  24. package/dist/m365/aad/commands/{o365group/o365group-report-activitystorage.js → m365group/m365group-report-activitystorage.js} +4 -4
  25. package/dist/m365/aad/commands/{o365group/o365group-set.js → m365group/m365group-set.js} +17 -17
  26. package/dist/m365/aad/commands/{o365group/o365group-teamify.js → m365group/m365group-teamify.js} +14 -14
  27. package/dist/m365/aad/commands/{o365group/o365group-user-add.js → m365group/m365group-user-add.js} +14 -14
  28. package/dist/m365/aad/commands/{o365group/o365group-user-list.js → m365group/m365group-user-list.js} +12 -12
  29. package/dist/m365/aad/commands/{o365group/o365group-user-remove.js → m365group/m365group-user-remove.js} +14 -14
  30. package/dist/m365/aad/commands/{o365group/o365group-user-set.js → m365group/m365group-user-set.js} +15 -15
  31. package/dist/m365/aad/commands/policy/policy-list.js +5 -5
  32. package/dist/m365/aad/commands.js +22 -22
  33. package/dist/m365/cli/commands/cli-issue.js +5 -5
  34. package/dist/m365/cli/commands/config/config-get.js +5 -5
  35. package/dist/m365/cli/commands/config/config-list.js +16 -0
  36. package/dist/m365/cli/commands/config/config-reset.js +5 -5
  37. package/dist/m365/cli/commands/config/config-set.js +5 -5
  38. package/dist/m365/cli/commands.js +1 -0
  39. package/dist/m365/commands/login.js +5 -5
  40. package/dist/m365/commands/request.js +1 -1
  41. package/dist/m365/flow/commands/owner/owner-ensure.js +5 -5
  42. package/dist/m365/pa/commands/app/app-owner-set.js +5 -5
  43. package/dist/m365/pa/commands/app/app-permission-ensure.js +162 -0
  44. package/dist/m365/pa/commands/app/app-permission-list.js +2 -2
  45. package/dist/m365/pa/commands/app/app-permission-remove.js +153 -0
  46. package/dist/m365/pa/commands.js +3 -4
  47. package/dist/m365/planner/commands/bucket/bucket-add.js +2 -2
  48. package/dist/m365/planner/commands/bucket/bucket-get.js +2 -2
  49. package/dist/m365/planner/commands/bucket/bucket-list.js +2 -2
  50. package/dist/m365/planner/commands/bucket/bucket-remove.js +2 -2
  51. package/dist/m365/planner/commands/bucket/bucket-set.js +2 -2
  52. package/dist/m365/planner/commands/plan/plan-get.js +1 -2
  53. package/dist/m365/planner/commands/plan/plan-list.js +4 -5
  54. package/dist/m365/planner/commands/plan/plan-set.js +2 -2
  55. package/dist/m365/planner/commands/task/task-add.js +17 -11
  56. package/dist/m365/planner/commands/task/task-get.js +35 -25
  57. package/dist/m365/planner/commands/task/task-list.js +26 -19
  58. package/dist/m365/planner/commands/task/task-remove.js +39 -34
  59. package/dist/m365/planner/commands/task/task-set.js +35 -23
  60. package/dist/m365/purview/commands/retentionlabel/retentionlabel-add.js +14 -14
  61. package/dist/m365/spfx/commands/package/package-generate.js +15 -15
  62. package/dist/m365/spfx/commands/project/DeployWorkflow.js +55 -0
  63. package/dist/m365/spfx/commands/project/project-doctor/{doctor-1.18.0-beta.1.js → doctor-1.18.0-beta.5.js} +1 -1
  64. package/dist/m365/spfx/commands/project/project-doctor.js +9 -9
  65. package/dist/m365/spfx/commands/project/project-externalize/rules/PnPJsRule.js +2 -2
  66. package/dist/m365/spfx/commands/project/project-github-workflow-add.js +157 -0
  67. package/dist/m365/spfx/commands/project/project-github-workflow-model.js +2 -0
  68. package/dist/m365/spfx/commands/project/project-upgrade/upgrade-1.15.2.js +1 -1
  69. package/dist/m365/spfx/commands/project/project-upgrade/{upgrade-1.18.0-beta.1.js → upgrade-1.18.0-beta.5.js} +26 -26
  70. package/dist/m365/spfx/commands/project/project-upgrade.js +14 -14
  71. package/dist/m365/spfx/commands/spfx-doctor.js +76 -106
  72. package/dist/m365/spfx/commands.js +1 -0
  73. package/dist/m365/spo/commands/app/SpoAppBaseCommand.js +27 -26
  74. package/dist/m365/spo/commands/app/app-add.js +9 -9
  75. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-add.js +5 -5
  76. package/dist/m365/spo/commands/applicationcustomizer/applicationcustomizer-list.js +5 -5
  77. package/dist/m365/spo/commands/commandset/commandset-add.js +11 -11
  78. package/dist/m365/spo/commands/commandset/commandset-get.js +8 -8
  79. package/dist/m365/spo/commands/commandset/commandset-list.js +5 -5
  80. package/dist/m365/spo/commands/commandset/commandset-remove.js +5 -5
  81. package/dist/m365/spo/commands/commandset/commandset-set.js +11 -11
  82. package/dist/m365/spo/commands/file/file-add.js +13 -13
  83. package/dist/m365/spo/commands/file/file-checkin.js +1 -1
  84. package/dist/m365/spo/commands/file/file-checkout.js +1 -1
  85. package/dist/m365/spo/commands/file/file-copy.js +36 -4
  86. package/dist/m365/spo/commands/file/file-list.js +4 -4
  87. package/dist/m365/spo/commands/file/file-move.js +74 -98
  88. package/dist/m365/spo/commands/file/file-remove.js +6 -6
  89. package/dist/m365/spo/commands/file/file-rename.js +2 -2
  90. package/dist/m365/spo/commands/file/file-retentionlabel-ensure.js +1 -1
  91. package/dist/m365/spo/commands/file/file-retentionlabel-remove.js +1 -1
  92. package/dist/m365/spo/commands/file/file-roleassignment-add.js +1 -1
  93. package/dist/m365/spo/commands/file/file-roleassignment-remove.js +1 -1
  94. package/dist/m365/spo/commands/file/file-roleinheritance-break.js +1 -1
  95. package/dist/m365/spo/commands/file/file-roleinheritance-reset.js +1 -1
  96. package/dist/m365/spo/commands/file/file-sharinglink-add.js +8 -8
  97. package/dist/m365/spo/commands/file/file-sharinglink-list.js +5 -5
  98. package/dist/m365/spo/commands/file/file-version-clear.js +1 -1
  99. package/dist/m365/spo/commands/file/file-version-get.js +1 -1
  100. package/dist/m365/spo/commands/file/file-version-list.js +1 -1
  101. package/dist/m365/spo/commands/file/file-version-remove.js +1 -1
  102. package/dist/m365/spo/commands/file/file-version-restore.js +1 -1
  103. package/dist/m365/spo/commands/folder/folder-add.js +2 -4
  104. package/dist/m365/spo/commands/folder/folder-copy.js +89 -45
  105. package/dist/m365/spo/commands/folder/folder-get.js +1 -1
  106. package/dist/m365/spo/commands/folder/folder-list.js +2 -2
  107. package/dist/m365/spo/commands/folder/folder-move.js +89 -47
  108. package/dist/m365/spo/commands/folder/folder-remove.js +7 -4
  109. package/dist/m365/spo/commands/folder/folder-rename.js +13 -17
  110. package/dist/m365/spo/commands/folder/folder-retentionlabel-ensure.js +1 -1
  111. package/dist/m365/spo/commands/folder/folder-retentionlabel-remove.js +1 -1
  112. package/dist/m365/spo/commands/folder/folder-roleassignment-add.js +1 -1
  113. package/dist/m365/spo/commands/folder/folder-roleassignment-remove.js +1 -1
  114. package/dist/m365/spo/commands/folder/folder-roleinheritance-break.js +1 -1
  115. package/dist/m365/spo/commands/folder/folder-roleinheritance-reset.js +1 -1
  116. package/dist/m365/spo/commands/group/group-list.js +0 -1
  117. package/dist/m365/spo/commands/list/list-add.js +4 -4
  118. package/dist/m365/spo/commands/list/list-set.js +4 -4
  119. package/dist/m365/spo/commands/navigation/navigation-node-set.js +2 -2
  120. package/dist/m365/spo/commands/orgassetslibrary/orgassetslibrary-add.js +34 -5
  121. package/dist/m365/spo/commands/page/clientsidepages.js +1 -81
  122. package/dist/m365/spo/commands/propertybag/propertybag-base.js +63 -59
  123. package/dist/m365/spo/commands/propertybag/propertybag-remove.js +28 -31
  124. package/dist/m365/spo/commands/serviceprincipal/serviceprincipal-set.js +30 -32
  125. package/dist/m365/spo/commands/site/FlowsPolicy.js +7 -0
  126. package/dist/m365/spo/commands/site/site-add.js +114 -161
  127. package/dist/m365/spo/commands/site/site-apppermission-add.js +15 -18
  128. package/dist/m365/spo/commands/site/site-apppermission-remove.js +34 -38
  129. package/dist/m365/spo/commands/site/site-apppermission-set.js +11 -14
  130. package/dist/m365/spo/commands/site/site-ensure.js +14 -67
  131. package/dist/m365/spo/commands/site/site-hubsite-disconnect.js +22 -22
  132. package/dist/m365/spo/commands/site/site-list.js +27 -43
  133. package/dist/m365/spo/commands/site/site-recyclebinitem-list.js +6 -6
  134. package/dist/m365/spo/commands/site/site-remove.js +166 -210
  135. package/dist/m365/spo/commands/site/site-set.js +178 -199
  136. package/dist/m365/spo/commands/tenant/tenant-commandset-add.js +8 -8
  137. package/dist/m365/spo/commands/tenant/tenant-commandset-set.js +8 -8
  138. package/dist/m365/spo/commands/tenant/tenant-settings-set.js +4 -4
  139. package/dist/m365/spo/commands/theme/theme-list.js +1 -9
  140. package/dist/m365/spo/commands/theme/theme-remove.js +24 -24
  141. package/dist/m365/spo/commands/theme/theme-set.js +0 -1
  142. package/dist/m365/spo/commands/user/user-remove.js +27 -27
  143. package/dist/m365/spo/commands/web/web-reindex.js +35 -42
  144. package/dist/m365/spo/commands/web/web-remove.js +21 -21
  145. package/dist/m365/spo/commands/web/web-roleassignment-add.js +16 -31
  146. package/dist/m365/spo/commands/web/web-roleassignment-remove.js +33 -44
  147. package/dist/m365/spo/commands/web/web-roleinheritance-break.js +18 -18
  148. package/dist/m365/spo/commands/web/web-roleinheritance-reset.js +19 -19
  149. package/dist/m365/spo/commands/web/web-set.js +5 -5
  150. package/dist/m365/teams/commands/app/app-list.js +5 -5
  151. package/dist/m365/teams/commands/chat/chat-member-add.js +5 -5
  152. package/dist/m365/teams/commands/funsettings/funsettings-set.js +4 -4
  153. package/dist/m365/teams/commands/guestsettings/guestsettings-set.js +4 -4
  154. package/dist/m365/teams/commands/membersettings/membersettings-set.js +4 -4
  155. package/dist/m365/teams/commands/messagingsettings/messagingsettings-set.js +5 -5
  156. package/dist/m365/teams/commands/team/team-set.js +3 -3
  157. package/dist/m365/todo/commands/task/task-add.js +6 -6
  158. package/dist/m365/yammer/commands/message/message-like-set.js +27 -28
  159. package/dist/m365/yammer/commands/message/message-list.js +67 -86
  160. package/dist/m365/yammer/commands/message/message-remove.js +18 -18
  161. package/dist/m365/yammer/commands/yammer-search.js +58 -74
  162. package/dist/utils/aadGroup.js +18 -0
  163. package/dist/utils/fsUtil.js +5 -0
  164. package/dist/utils/planner.js +4 -3
  165. package/dist/utils/spo.js +595 -54
  166. package/dist/utils/validation.js +0 -3
  167. package/docs/docs/cmd/aad/{o365group/o365group-add.mdx → m365group/m365group-add.mdx} +13 -13
  168. package/docs/docs/cmd/aad/{o365group/o365group-conversation-list.mdx → m365group/m365group-conversation-list.mdx} +4 -4
  169. package/docs/docs/cmd/aad/{o365group/o365group-conversation-post-list.mdx → m365group/m365group-conversation-post-list.mdx} +8 -8
  170. package/docs/docs/cmd/aad/{o365group/o365group-get.mdx → m365group/m365group-get.mdx} +6 -6
  171. package/docs/docs/cmd/aad/{o365group/o365group-list.mdx → m365group/m365group-list.mdx} +12 -29
  172. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-clear.mdx → m365group/m365group-recyclebinitem-clear.mdx} +5 -5
  173. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-list.mdx → m365group/m365group-recyclebinitem-list.mdx} +8 -8
  174. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-remove.mdx → m365group/m365group-recyclebinitem-remove.mdx} +6 -6
  175. package/docs/docs/cmd/aad/{o365group/o365group-recyclebinitem-restore.mdx → m365group/m365group-recyclebinitem-restore.mdx} +6 -6
  176. package/docs/docs/cmd/aad/{o365group/o365group-remove.mdx → m365group/m365group-remove.mdx} +6 -6
  177. package/docs/docs/cmd/aad/{o365group/o365group-renew.mdx → m365group/m365group-renew.mdx} +4 -4
  178. package/docs/docs/cmd/aad/{o365group/o365group-report-activitycounts.mdx → m365group/m365group-report-activitycounts.mdx} +6 -6
  179. package/docs/docs/cmd/aad/{o365group/o365group-report-activitydetail.mdx → m365group/m365group-report-activitydetail.mdx} +7 -7
  180. package/docs/docs/cmd/aad/{o365group/o365group-report-activityfilecounts.mdx → m365group/m365group-report-activityfilecounts.mdx} +6 -6
  181. package/docs/docs/cmd/aad/{o365group/o365group-report-activitygroupcounts.mdx → m365group/m365group-report-activitygroupcounts.mdx} +6 -6
  182. package/docs/docs/cmd/aad/{o365group/o365group-report-activitystorage.mdx → m365group/m365group-report-activitystorage.mdx} +6 -6
  183. package/docs/docs/cmd/aad/{o365group/o365group-set.mdx → m365group/m365group-set.mdx} +8 -8
  184. package/docs/docs/cmd/aad/{o365group/o365group-teamify.mdx → m365group/m365group-teamify.mdx} +5 -5
  185. package/docs/docs/cmd/aad/{o365group/o365group-user-add.mdx → m365group/m365group-user-add.mdx} +5 -5
  186. package/docs/docs/cmd/aad/{o365group/o365group-user-list.mdx → m365group/m365group-user-list.mdx} +7 -7
  187. package/docs/docs/cmd/aad/{o365group/o365group-user-remove.mdx → m365group/m365group-user-remove.mdx} +5 -5
  188. package/docs/docs/cmd/aad/{o365group/o365group-user-set.mdx → m365group/m365group-user-set.mdx} +5 -5
  189. package/docs/docs/cmd/aad/user/user-set.mdx +1 -1
  190. package/docs/docs/cmd/cli/config/config-list.mdx +78 -0
  191. package/docs/docs/cmd/flow/flow-enable.mdx +2 -2
  192. package/docs/docs/cmd/login.mdx +6 -0
  193. package/docs/docs/cmd/pa/app/app-permission-ensure.mdx +85 -0
  194. package/docs/docs/cmd/pa/app/app-permission-remove.mdx +74 -0
  195. package/docs/docs/cmd/planner/plan/plan-add.mdx +1 -1
  196. package/docs/docs/cmd/planner/task/task-add.mdx +22 -7
  197. package/docs/docs/cmd/planner/task/task-get.mdx +13 -4
  198. package/docs/docs/cmd/planner/task/task-list.mdx +22 -7
  199. package/docs/docs/cmd/planner/task/task-remove.mdx +25 -8
  200. package/docs/docs/cmd/planner/task/task-set.mdx +22 -7
  201. package/docs/docs/cmd/pp/dataverse/dataverse-table-get.mdx +2 -2
  202. package/docs/docs/cmd/pp/dataverse/dataverse-table-list.mdx +2 -2
  203. package/docs/docs/cmd/pp/dataverse/dataverse-table-remove.mdx +3 -3
  204. package/docs/docs/cmd/spfx/project/project-github-workflow-add.mdx +94 -0
  205. package/docs/docs/cmd/spo/file/file-add.mdx +1 -1
  206. package/docs/docs/cmd/spo/file/file-checkin.mdx +1 -1
  207. package/docs/docs/cmd/spo/file/file-checkout-undo.mdx +1 -9
  208. package/docs/docs/cmd/spo/file/file-checkout.mdx +1 -1
  209. package/docs/docs/cmd/spo/file/file-copy.mdx +20 -16
  210. package/docs/docs/cmd/spo/file/file-get.mdx +1 -1
  211. package/docs/docs/cmd/spo/file/file-list.mdx +2 -2
  212. package/docs/docs/cmd/spo/file/file-move.mdx +36 -18
  213. package/docs/docs/cmd/spo/file/file-remove.mdx +8 -8
  214. package/docs/docs/cmd/spo/file/file-rename.mdx +3 -3
  215. package/docs/docs/cmd/spo/file/file-retentionlabel-ensure.mdx +2 -2
  216. package/docs/docs/cmd/spo/file/file-retentionlabel-remove.mdx +3 -3
  217. package/docs/docs/cmd/spo/file/file-roleassignment-add.mdx +1 -1
  218. package/docs/docs/cmd/spo/file/file-roleassignment-remove.mdx +1 -1
  219. package/docs/docs/cmd/spo/file/file-roleinheritance-break.mdx +1 -1
  220. package/docs/docs/cmd/spo/file/file-roleinheritance-reset.mdx +1 -1
  221. package/docs/docs/cmd/spo/file/file-sharinginfo-get.mdx +1 -1
  222. package/docs/docs/cmd/spo/file/file-sharinglink-add.mdx +1 -1
  223. package/docs/docs/cmd/spo/file/file-sharinglink-clear.mdx +1 -1
  224. package/docs/docs/cmd/spo/file/file-sharinglink-get.mdx +1 -1
  225. package/docs/docs/cmd/spo/file/file-sharinglink-list.mdx +1 -1
  226. package/docs/docs/cmd/spo/file/file-sharinglink-remove.mdx +1 -1
  227. package/docs/docs/cmd/spo/file/file-sharinglink-set.mdx +1 -1
  228. package/docs/docs/cmd/spo/file/file-version-clear.mdx +1 -1
  229. package/docs/docs/cmd/spo/file/file-version-get.mdx +1 -1
  230. package/docs/docs/cmd/spo/file/file-version-list.mdx +1 -1
  231. package/docs/docs/cmd/spo/file/file-version-remove.mdx +1 -1
  232. package/docs/docs/cmd/spo/file/file-version-restore.mdx +1 -1
  233. package/docs/docs/cmd/spo/folder/folder-add.mdx +76 -1
  234. package/docs/docs/cmd/spo/folder/folder-copy.mdx +39 -12
  235. package/docs/docs/cmd/spo/folder/folder-get.mdx +1 -1
  236. package/docs/docs/cmd/spo/folder/folder-list.mdx +1 -1
  237. package/docs/docs/cmd/spo/folder/folder-move.mdx +40 -13
  238. package/docs/docs/cmd/spo/folder/folder-remove.mdx +1 -1
  239. package/docs/docs/cmd/spo/folder/folder-rename.mdx +5 -1
  240. package/docs/docs/cmd/spo/folder/folder-retentionlabel-ensure.mdx +1 -1
  241. package/docs/docs/cmd/spo/folder/folder-retentionlabel-remove.mdx +1 -1
  242. package/docs/docs/cmd/spo/folder/folder-roleassignment-add.mdx +2 -2
  243. package/docs/docs/cmd/spo/folder/folder-roleassignment-remove.mdx +1 -1
  244. package/docs/docs/cmd/spo/folder/folder-roleinheritance-break.mdx +1 -1
  245. package/docs/docs/cmd/spo/folder/folder-roleinheritance-reset.mdx +1 -1
  246. package/docs/docs/cmd/spo/listitem/listitem-attachment-list.mdx +1 -1
  247. package/docs/docs/cmd/spo/orgassetslibrary/orgassetslibrary-add.mdx +14 -1
  248. package/docs/docs/cmd/spo/site/site-add.mdx +1 -1
  249. package/docs/docs/cmd/spo/site/site-ensure.mdx +1 -1
  250. package/docs/docs/cmd/spo/site/site-list.mdx +3 -78
  251. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-add.mdx +1 -1
  252. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-list.mdx +1 -1
  253. package/docs/docs/cmd/spo/tenant/tenant-applicationcustomizer-remove.mdx +1 -1
  254. package/docs/docs/cmd/spo/tenant/tenant-commandset-add.mdx +1 -1
  255. package/docs/docs/cmd/spo/tenant/tenant-commandset-remove.mdx +1 -1
  256. package/docs/docs/cmd/spo/tenant/tenant-commandset-set.mdx +1 -1
  257. package/docs/docs/cmd/teams/team/team-add.mdx +1 -1
  258. package/docs/docs/cmd/yammer/network/network-list.mdx +1 -1
  259. package/npm-shrinkwrap.json +290 -1413
  260. package/package.json +17 -18
  261. package/dist/m365/pa/cds-project-mutator.js +0 -91
  262. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/generated/ManifestTypes.d.ts +0 -11
  263. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_ControlManifest.Input.xml +0 -31
  264. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/dataset-template/template_index.ts +0 -51
  265. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/generated/ManifestTypes.d.ts +0 -12
  266. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_ControlManifest.Input.xml +0 -37
  267. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/field-template/template_index.ts +0 -48
  268. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/index.ts +0 -0
  269. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_ControlManifest.Input.xml +0 -31
  270. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-dataset-template/template_index.tsx +0 -58
  271. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_ControlManifest.Input.xml +0 -37
  272. package/dist/m365/pa/commands/pcf/pcf-init/assets/control/virtual-field-template/template_index.tsx +0 -55
  273. package/dist/m365/pa/commands/pcf/pcf-init/assets/package.json +0 -19
  274. package/dist/m365/pa/commands/pcf/pcf-init/assets/pcfconfig.json +0 -3
  275. package/dist/m365/pa/commands/pcf/pcf-init/assets/template_.gitignore +0 -14
  276. package/dist/m365/pa/commands/pcf/pcf-init/assets/template_pcfprojecttype.pcfproj +0 -45
  277. package/dist/m365/pa/commands/pcf/pcf-init/pcf-init-variables.js +0 -2
  278. package/dist/m365/pa/commands/pcf/pcf-init.js +0 -120
  279. package/dist/m365/pa/commands/solution/solution-init/assets/Other/Customizations.xml +0 -18
  280. package/dist/m365/pa/commands/solution/solution-init/assets/Other/Relationships.xml +0 -2
  281. package/dist/m365/pa/commands/solution/solution-init/assets/Other/template_Solution.xml +0 -94
  282. package/dist/m365/pa/commands/solution/solution-init/assets/template_.gitignore +0 -2
  283. package/dist/m365/pa/commands/solution/solution-init/assets/template_solutionprojecttype.cdsproj +0 -44
  284. package/dist/m365/pa/commands/solution/solution-init/solution-init-variables.js +0 -2
  285. package/dist/m365/pa/commands/solution/solution-init.js +0 -126
  286. package/dist/m365/pa/commands/solution/solution-reference-add.js +0 -88
  287. package/dist/m365/pa/template-instantiator.js +0 -57
  288. package/docs/docs/cmd/pa/pcf/pcf-init.mdx +0 -56
  289. package/docs/docs/cmd/pa/solution/solution-init.mdx +0 -46
  290. package/docs/docs/cmd/pa/solution/solution-reference-add.mdx +0 -42
  291. /package/dist/m365/aad/commands/{o365group → m365group}/GroupExtended.js +0 -0
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpoCommandSetSetCommand_instances, _SpoCommandSetSetCommand_initTelemetry, _SpoCommandSetSetCommand_initOptions, _SpoCommandSetSetCommand_initValidators, _SpoCommandSetSetCommand_initOptionSets;
6
+ var _SpoCommandSetSetCommand_instances, _a, _SpoCommandSetSetCommand_initTelemetry, _SpoCommandSetSetCommand_initOptions, _SpoCommandSetSetCommand_initValidators, _SpoCommandSetSetCommand_initOptionSets;
7
7
  import commands from '../../commands.js';
8
8
  import { validation } from '../../../../utils/validation.js';
9
9
  import SpoCommand from '../../../base/SpoCommand.js';
@@ -109,7 +109,7 @@ class SpoCommandSetSetCommand extends SpoCommand {
109
109
  }
110
110
  }
111
111
  }
112
- _SpoCommandSetSetCommand_instances = new WeakSet(), _SpoCommandSetSetCommand_initTelemetry = function _SpoCommandSetSetCommand_initTelemetry() {
112
+ _a = SpoCommandSetSetCommand, _SpoCommandSetSetCommand_instances = new WeakSet(), _SpoCommandSetSetCommand_initTelemetry = function _SpoCommandSetSetCommand_initTelemetry() {
113
113
  this.telemetry.push((args) => {
114
114
  Object.assign(this.telemetryProperties, {
115
115
  title: typeof args.options.title !== 'undefined',
@@ -136,13 +136,13 @@ _SpoCommandSetSetCommand_instances = new WeakSet(), _SpoCommandSetSetCommand_ini
136
136
  }, {
137
137
  option: '--newTitle [newTitle]'
138
138
  }, {
139
- option: '-l, --listType [listType]', autocomplete: SpoCommandSetSetCommand.listTypes
139
+ option: '-l, --listType [listType]', autocomplete: _a.listTypes
140
140
  }, {
141
141
  option: '--clientSideComponentProperties [clientSideComponentProperties]'
142
142
  }, {
143
- option: '-s, --scope [scope]', autocomplete: SpoCommandSetSetCommand.scopes
143
+ option: '-s, --scope [scope]', autocomplete: _a.scopes
144
144
  }, {
145
- option: '--location [location]', autocomplete: SpoCommandSetSetCommand.locations
145
+ option: '--location [location]', autocomplete: _a.locations
146
146
  });
147
147
  }, _SpoCommandSetSetCommand_initValidators = function _SpoCommandSetSetCommand_initValidators() {
148
148
  this.validators.push(async (args) => {
@@ -155,14 +155,14 @@ _SpoCommandSetSetCommand_instances = new WeakSet(), _SpoCommandSetSetCommand_ini
155
155
  if (args.options.newClientSideComponentId && !validation.isValidGuid(args.options.newClientSideComponentId)) {
156
156
  return `${args.options.newClientSideComponentId} is not a valid GUID`;
157
157
  }
158
- if (args.options.listType && SpoCommandSetSetCommand.listTypes.indexOf(args.options.listType) < 0) {
159
- return `${args.options.listType} is not a valid list type. Allowed values are ${SpoCommandSetSetCommand.listTypes.join(', ')}`;
158
+ if (args.options.listType && _a.listTypes.indexOf(args.options.listType) < 0) {
159
+ return `${args.options.listType} is not a valid list type. Allowed values are ${_a.listTypes.join(', ')}`;
160
160
  }
161
- if (args.options.scope && SpoCommandSetSetCommand.scopes.indexOf(args.options.scope) < 0) {
162
- return `${args.options.scope} is not a valid scope. Allowed values are ${SpoCommandSetSetCommand.scopes.join(', ')}`;
161
+ if (args.options.scope && _a.scopes.indexOf(args.options.scope) < 0) {
162
+ return `${args.options.scope} is not a valid scope. Allowed values are ${_a.scopes.join(', ')}`;
163
163
  }
164
- if (args.options.location && SpoCommandSetSetCommand.locations.indexOf(args.options.location) < 0) {
165
- return `${args.options.location} is not a valid location. Allowed values are ${SpoCommandSetSetCommand.locations.join(', ')}`;
164
+ if (args.options.location && _a.locations.indexOf(args.options.location) < 0) {
165
+ return `${args.options.location} is not a valid location. Allowed values are ${_a.locations.join(', ')}`;
166
166
  }
167
167
  if (!args.options.newTitle && !args.options.listType && !args.options.clientSideComponentProperties && !args.options.location && !args.options.newClientSideComponentId) {
168
168
  return `Please specify option to be updated`;
@@ -54,7 +54,7 @@ class SpoFileAddCommand extends SpoCommand {
54
54
  try {
55
55
  try {
56
56
  const requestOptions = {
57
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folderPath)}')`,
57
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folderPath)}')`,
58
58
  headers: {
59
59
  'accept': 'application/json;odata=nometadata'
60
60
  }
@@ -88,7 +88,7 @@ class SpoFileAddCommand extends SpoCommand {
88
88
  // initiate chunked upload session
89
89
  const uploadId = v4();
90
90
  const requestOptions = {
91
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folderPath)}')/Files/GetByPathOrAddStub(DecodedUrl='${formatting.encodeQueryParameter(fileName)}')/StartUpload(uploadId=guid'${uploadId}')`,
91
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folderPath)}')/Files/GetByPathOrAddStub(DecodedUrl='${formatting.encodeQueryParameter(fileName)}')/StartUpload(uploadId=guid'${uploadId}')`,
92
92
  headers: {
93
93
  'accept': 'application/json;odata=nometadata'
94
94
  }
@@ -116,7 +116,7 @@ class SpoFileAddCommand extends SpoCommand {
116
116
  await logger.logToStderr('Cancelling upload session due to error...');
117
117
  }
118
118
  const requestOptions = {
119
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/cancelupload(uploadId=guid'${uploadId}')`,
119
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/cancelupload(uploadId=guid'${uploadId}')`,
120
120
  headers: {
121
121
  'accept': 'application/json;odata=nometadata'
122
122
  }
@@ -138,7 +138,7 @@ class SpoFileAddCommand extends SpoCommand {
138
138
  const fileBody = fs.readFileSync(fullPath);
139
139
  const bodyLength = fileBody.byteLength;
140
140
  const requestOptions = {
141
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folderPath)}')/Files/Add(url='${formatting.encodeQueryParameter(fileName)}', overwrite=true)`,
141
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folderPath)}')/Files/Add(url='${formatting.encodeQueryParameter(fileName)}', overwrite=true)`,
142
142
  data: fileBody,
143
143
  headers: {
144
144
  'accept': 'application/json;odata=nometadata',
@@ -180,7 +180,7 @@ class SpoFileAddCommand extends SpoCommand {
180
180
  }
181
181
  // approve the existing file with given comment
182
182
  const requestOptions = {
183
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/approve(comment='${formatting.encodeQueryParameter(args.options.approveComment || '')}')`,
183
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/approve(comment='${formatting.encodeQueryParameter(args.options.approveComment || '')}')`,
184
184
  headers: {
185
185
  'accept': 'application/json;odata=nometadata'
186
186
  },
@@ -197,7 +197,7 @@ class SpoFileAddCommand extends SpoCommand {
197
197
  }
198
198
  // publish the existing file with given comment
199
199
  const requestOptions = {
200
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/publish(comment='${formatting.encodeQueryParameter(args.options.publishComment || '')}')`,
200
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/publish(comment='${formatting.encodeQueryParameter(args.options.publishComment || '')}')`,
201
201
  headers: {
202
202
  'accept': 'application/json;odata=nometadata'
203
203
  },
@@ -211,7 +211,7 @@ class SpoFileAddCommand extends SpoCommand {
211
211
  // in a case the command has done checkout
212
212
  // then have to rollback the checkout
213
213
  const requestOptions = {
214
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/UndoCheckOut()`
214
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/UndoCheckOut()`
215
215
  };
216
216
  try {
217
217
  await request.post(requestOptions);
@@ -250,14 +250,14 @@ class SpoFileAddCommand extends SpoCommand {
250
250
  async fileCheckOut(fileName, webUrl, folder) {
251
251
  // check if file already exists, otherwise it can't be checked out
252
252
  const requestOptionsGetFile = {
253
- url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folder)}')/Files('${formatting.encodeQueryParameter(fileName)}')`,
253
+ url: `${webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folder)}')/Files('${formatting.encodeQueryParameter(fileName)}')`,
254
254
  headers: {
255
255
  'accept': 'application/json;odata=nometadata'
256
256
  }
257
257
  };
258
258
  await request.get(requestOptionsGetFile);
259
259
  const requestOptionsCheckOut = {
260
- url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folder)}')/Files('${formatting.encodeQueryParameter(fileName)}')/CheckOut()`,
260
+ url: `${webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folder)}')/Files('${formatting.encodeQueryParameter(fileName)}')/CheckOut()`,
261
261
  headers: {
262
262
  'accept': 'application/json;odata=nometadata'
263
263
  },
@@ -281,7 +281,7 @@ class SpoFileAddCommand extends SpoCommand {
281
281
  fileBuffer = fileBuffer.slice(0, readCount);
282
282
  }
283
283
  const requestOptions = {
284
- url: `${info.WebUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(info.FolderPath)}')/Files('${formatting.encodeQueryParameter(info.Name)}')/${isLastChunk ? 'Finish' : 'Continue'}Upload(uploadId=guid'${info.Id}',fileOffset=${offset})`,
284
+ url: `${info.WebUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(info.FolderPath)}')/Files('${formatting.encodeQueryParameter(info.Name)}')/${isLastChunk ? 'Finish' : 'Continue'}Upload(uploadId=guid'${info.Id}',fileOffset=${offset})`,
285
285
  data: fileBuffer,
286
286
  headers: {
287
287
  'accept': 'application/json;odata=nometadata',
@@ -338,7 +338,7 @@ class SpoFileAddCommand extends SpoCommand {
338
338
  await logger.logToStderr(`Getting list details in order to get its available content types afterwards...`);
339
339
  }
340
340
  const requestOptions = {
341
- url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folder)}')/Files('${formatting.encodeQueryParameter(fileName)}')/ListItemAllFields/ParentList?$Select=Id,EnableModeration,EnableVersioning,EnableMinorVersions`,
341
+ url: `${webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folder)}')/Files('${formatting.encodeQueryParameter(fileName)}')/ListItemAllFields/ParentList?$Select=Id,EnableModeration,EnableVersioning,EnableMinorVersions`,
342
342
  headers: {
343
343
  'accept': 'application/json;odata=nometadata'
344
344
  },
@@ -361,7 +361,7 @@ class SpoFileAddCommand extends SpoCommand {
361
361
  }
362
362
  // update the existing file list item fields
363
363
  const requestOptions = {
364
- url: `${webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/ListItemAllFields/ValidateUpdateListItem()`,
364
+ url: `${webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(folderPath)}')/Files('${formatting.encodeQueryParameter(fileName)}')/ListItemAllFields/ValidateUpdateListItem()`,
365
365
  headers: {
366
366
  'accept': 'application/json;odata=nometadata'
367
367
  },
@@ -380,7 +380,7 @@ class SpoFileAddCommand extends SpoCommand {
380
380
  }
381
381
  async fileCheckIn(args, fileName) {
382
382
  const requestOptions = {
383
- url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl('${formatting.encodeQueryParameter(args.options.folder)}')/Files('${formatting.encodeQueryParameter(fileName)}')/CheckIn(comment='${formatting.encodeQueryParameter(args.options.checkInComment || '')}',checkintype=0)`,
383
+ url: `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(args.options.folder)}')/Files('${formatting.encodeQueryParameter(fileName)}')/CheckIn(comment='${formatting.encodeQueryParameter(args.options.checkInComment || '')}',checkintype=0)`,
384
384
  headers: {
385
385
  'accept': 'application/json;odata=nometadata'
386
386
  },
@@ -55,7 +55,7 @@ class SpoFileCheckinCommand extends SpoCommand {
55
55
  }
56
56
  if (args.options.url) {
57
57
  const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
58
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting.encodeQueryParameter(serverRelativePath)}')/checkin(comment='${comment}',checkintype=${type})`;
58
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')/checkin(comment='${comment}',checkintype=${type})`;
59
59
  }
60
60
  const requestOptions = {
61
61
  url: requestUrl,
@@ -35,7 +35,7 @@ class SpoFileCheckoutCommand extends SpoCommand {
35
35
  }
36
36
  if (args.options.url) {
37
37
  const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
38
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting.encodeQueryParameter(serverRelativePath)}')/checkout`;
38
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')/checkout`;
39
39
  }
40
40
  const requestOptions = {
41
41
  url: requestUrl,
@@ -3,7 +3,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpoFileCopyCommand_instances, _SpoFileCopyCommand_initTelemetry, _SpoFileCopyCommand_initOptions, _SpoFileCopyCommand_initValidators;
6
+ var _SpoFileCopyCommand_instances, _SpoFileCopyCommand_initTelemetry, _SpoFileCopyCommand_initOptions, _SpoFileCopyCommand_initValidators, _SpoFileCopyCommand_initOptionSets;
7
7
  import request from '../../../../request.js';
8
8
  import { urlUtil } from '../../../../utils/urlUtil.js';
9
9
  import { validation } from '../../../../utils/validation.js';
@@ -23,10 +23,12 @@ class SpoFileCopyCommand extends SpoCommand {
23
23
  __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initTelemetry).call(this);
24
24
  __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initOptions).call(this);
25
25
  __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initValidators).call(this);
26
+ __classPrivateFieldGet(this, _SpoFileCopyCommand_instances, "m", _SpoFileCopyCommand_initOptionSets).call(this);
26
27
  }
27
28
  async commandAction(logger, args) {
28
29
  try {
29
- const sourcePath = this.getAbsoluteUrl(args.options.webUrl, urlUtil.getServerRelativePath(args.options.webUrl, args.options.sourceUrl));
30
+ const sourceServerRelativePath = await this.getSourcePath(logger, args.options);
31
+ const sourcePath = this.getAbsoluteUrl(args.options.webUrl, sourceServerRelativePath);
30
32
  let destinationPath = this.getAbsoluteUrl(args.options.webUrl, args.options.targetUrl) + '/';
31
33
  if (args.options.newName) {
32
34
  destinationPath += args.options.newName;
@@ -54,6 +56,7 @@ class SpoFileCopyCommand extends SpoCommand {
54
56
  overwrite: args.options.nameConflictBehavior === 'replace',
55
57
  options: {
56
58
  KeepBoth: args.options.nameConflictBehavior === 'rename',
59
+ ResetAuthorAndCreatedOnCopy: !!args.options.resetAuthorAndCreated,
57
60
  ShouldBypassSharedLocks: !!args.options.bypassSharedLock
58
61
  }
59
62
  }
@@ -64,6 +67,23 @@ class SpoFileCopyCommand extends SpoCommand {
64
67
  this.handleRejectedODataJsonPromise(err);
65
68
  }
66
69
  }
70
+ async getSourcePath(logger, options) {
71
+ if (options.sourceUrl) {
72
+ return urlUtil.getServerRelativePath(options.webUrl, options.sourceUrl);
73
+ }
74
+ if (this.verbose) {
75
+ await logger.logToStderr(`Retrieving server-relative path for file with ID '${options.sourceId}'...`);
76
+ }
77
+ const requestOptions = {
78
+ url: `${options.webUrl}/_api/Web/GetFileById('${options.sourceId}')?$select=ServerRelativePath`,
79
+ headers: {
80
+ accept: 'application/json;odata=nometadata'
81
+ },
82
+ responseType: 'json'
83
+ };
84
+ const file = await request.get(requestOptions);
85
+ return file.ServerRelativePath.DecodedUrl;
86
+ }
67
87
  getAbsoluteUrl(webUrl, url) {
68
88
  return url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
69
89
  }
@@ -71,8 +91,11 @@ class SpoFileCopyCommand extends SpoCommand {
71
91
  _SpoFileCopyCommand_instances = new WeakSet(), _SpoFileCopyCommand_initTelemetry = function _SpoFileCopyCommand_initTelemetry() {
72
92
  this.telemetry.push((args) => {
73
93
  Object.assign(this.telemetryProperties, {
94
+ sourceUrl: typeof args.options.sourceUrl !== 'undefined',
95
+ sourceId: typeof args.options.sourceId !== 'undefined',
74
96
  newName: typeof args.options.newName !== 'undefined',
75
97
  nameConflictBehavior: args.options.nameConflictBehavior || false,
98
+ resetAuthorAndCreated: !!args.options.resetAuthorAndCreated,
76
99
  bypassSharedLock: !!args.options.bypassSharedLock
77
100
  });
78
101
  });
@@ -80,7 +103,9 @@ _SpoFileCopyCommand_instances = new WeakSet(), _SpoFileCopyCommand_initTelemetry
80
103
  this.options.unshift({
81
104
  option: '-u, --webUrl <webUrl>'
82
105
  }, {
83
- option: '-s, --sourceUrl <sourceUrl>'
106
+ option: '-s, --sourceUrl [sourceUrl]'
107
+ }, {
108
+ option: '-i, --sourceId [sourceId]'
84
109
  }, {
85
110
  option: '-t, --targetUrl <targetUrl>'
86
111
  }, {
@@ -88,6 +113,8 @@ _SpoFileCopyCommand_instances = new WeakSet(), _SpoFileCopyCommand_initTelemetry
88
113
  }, {
89
114
  option: '--nameConflictBehavior [nameConflictBehavior]',
90
115
  autocomplete: this.nameConflictBehaviorOptions
116
+ }, {
117
+ option: '--resetAuthorAndCreated'
91
118
  }, {
92
119
  option: '--bypassSharedLock'
93
120
  });
@@ -97,11 +124,16 @@ _SpoFileCopyCommand_instances = new WeakSet(), _SpoFileCopyCommand_initTelemetry
97
124
  if (isValidSharePointUrl !== true) {
98
125
  return isValidSharePointUrl;
99
126
  }
127
+ if (args.options.sourceId && !validation.isValidGuid(args.options.sourceId)) {
128
+ return `${args.options.sourceId} is not a valid GUID for sourceId.`;
129
+ }
100
130
  if (args.options.nameConflictBehavior && this.nameConflictBehaviorOptions.indexOf(args.options.nameConflictBehavior) === -1) {
101
- return `${args.options.nameConflictBehavior} is not a valid nameConflictBehavior value. Allowed values: ${this.nameConflictBehaviorOptions.join(', ')}`;
131
+ return `${args.options.nameConflictBehavior} is not a valid nameConflictBehavior value. Allowed values: ${this.nameConflictBehaviorOptions.join(', ')}.`;
102
132
  }
103
133
  return true;
104
134
  });
135
+ }, _SpoFileCopyCommand_initOptionSets = function _SpoFileCopyCommand_initOptionSets() {
136
+ this.optionSets.push({ options: ['sourceUrl', 'sourceId'] });
105
137
  };
106
138
  export default new SpoFileCopyCommand();
107
139
  //# sourceMappingURL=file-copy.js.map
@@ -56,7 +56,7 @@ class SpoFileListCommand extends SpoCommand {
56
56
  }
57
57
  const allFiles = [];
58
58
  const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, folderUrl);
59
- const requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl(@url)/Files?@url='${formatting.encodeQueryParameter(serverRelativePath)}'`;
59
+ const requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')/Files`;
60
60
  const queryParams = [`$skip=${skip}`, `$top=${SpoFileListCommand.pageSize}`];
61
61
  if (fieldProperties.expandProperties.length > 0) {
62
62
  queryParams.push(`$expand=${fieldProperties.expandProperties.join(',')}`);
@@ -68,7 +68,7 @@ class SpoFileListCommand extends SpoCommand {
68
68
  queryParams.push(`$filter=${args.options.filter}`);
69
69
  }
70
70
  const requestOptions = {
71
- url: `${requestUrl}&${queryParams.join('&')}`,
71
+ url: `${requestUrl}?${queryParams.join('&')}`,
72
72
  method: 'GET',
73
73
  headers: {
74
74
  'accept': 'application/json;odata=nometadata'
@@ -90,9 +90,9 @@ class SpoFileListCommand extends SpoCommand {
90
90
  }
91
91
  const allFolders = [];
92
92
  const serverRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, folderUrl);
93
- const requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativeUrl(@url)/Folders?@url='${formatting.encodeQueryParameter(serverRelativeUrl)}'`;
93
+ const requestUrl = `${args.options.webUrl}/_api/web/GetFolderByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')/Folders`;
94
94
  const requestOptions = {
95
- url: `${requestUrl}&$skip=${skip}&$top=${SpoFileListCommand.pageSize}&$select=ServerRelativeUrl`,
95
+ url: `${requestUrl}?$skip=${skip}&$top=${SpoFileListCommand.pageSize}&$select=ServerRelativeUrl`,
96
96
  method: 'GET',
97
97
  headers: {
98
98
  'accept': 'application/json;odata=nometadata'
@@ -3,17 +3,12 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
3
3
  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");
4
4
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
5
  };
6
- var _SpoFileMoveCommand_instances, _SpoFileMoveCommand_initTelemetry, _SpoFileMoveCommand_initOptions, _SpoFileMoveCommand_initValidators;
7
- import url from 'url';
8
- import { Cli } from '../../../../cli/Cli.js';
6
+ var _SpoFileMoveCommand_instances, _SpoFileMoveCommand_initTelemetry, _SpoFileMoveCommand_initOptions, _SpoFileMoveCommand_initValidators, _SpoFileMoveCommand_initOptionSets;
9
7
  import request from '../../../../request.js';
10
- import { formatting } from '../../../../utils/formatting.js';
11
- import { spo } from '../../../../utils/spo.js';
12
8
  import { urlUtil } from '../../../../utils/urlUtil.js';
13
9
  import { validation } from '../../../../utils/validation.js';
14
10
  import SpoCommand from '../../../base/SpoCommand.js';
15
11
  import commands from '../../commands.js';
16
- import removeCommand from './file-remove.js';
17
12
  class SpoFileMoveCommand extends SpoCommand {
18
13
  get name() {
19
14
  return commands.FILE_MOVE;
@@ -24,143 +19,124 @@ class SpoFileMoveCommand extends SpoCommand {
24
19
  constructor() {
25
20
  super();
26
21
  _SpoFileMoveCommand_instances.add(this);
22
+ this.nameConflictBehaviorOptions = ['fail', 'replace', 'rename'];
27
23
  __classPrivateFieldGet(this, _SpoFileMoveCommand_instances, "m", _SpoFileMoveCommand_initTelemetry).call(this);
28
24
  __classPrivateFieldGet(this, _SpoFileMoveCommand_instances, "m", _SpoFileMoveCommand_initOptions).call(this);
29
25
  __classPrivateFieldGet(this, _SpoFileMoveCommand_instances, "m", _SpoFileMoveCommand_initValidators).call(this);
26
+ __classPrivateFieldGet(this, _SpoFileMoveCommand_instances, "m", _SpoFileMoveCommand_initOptionSets).call(this);
30
27
  }
31
28
  getExcludedOptionsWithUrls() {
32
29
  return ['targetUrl', 'sourceUrl'];
33
30
  }
34
31
  async commandAction(logger, args) {
35
- const webUrl = args.options.webUrl;
36
- const parsedUrl = url.parse(webUrl);
37
- const tenantUrl = `${parsedUrl.protocol}//${parsedUrl.hostname}`;
38
32
  try {
39
- const serverRelativePath = urlUtil.getServerRelativePath(webUrl, args.options.sourceUrl);
40
- // Check if the source file exists.
41
- // Called on purpose, we explicitly check if user specified file
42
- // in the sourceUrl option.
43
- // The CreateCopyJobs endpoint accepts file, folder or batch from both.
44
- // A user might enter folder instead of file as source url by mistake
45
- // then there are edge cases when deleteIfAlreadyExists flag is set
46
- // the user can receive misleading error message.
47
- await this.fileExists(webUrl, serverRelativePath);
48
- if (args.options.deleteIfAlreadyExists) {
49
- // try delete target file, if deleteIfAlreadyExists flag is set
50
- const filename = args.options.sourceUrl.replace(/^.*[\\\/]/, '');
51
- await this.recycleFile(tenantUrl, args.options.targetUrl, filename, logger);
33
+ const sourcePath = await this.getSourcePath(logger, args.options);
34
+ if (this.verbose) {
35
+ await logger.logToStderr(`Moving file ${sourcePath} to ${args.options.targetUrl}...`);
36
+ }
37
+ const absoluteSourcePath = this.getAbsoluteUrl(args.options.webUrl, sourcePath);
38
+ let absoluteTargetPath = this.getAbsoluteUrl(args.options.webUrl, args.options.targetUrl) + '/';
39
+ if (args.options.newName) {
40
+ absoluteTargetPath += args.options.newName;
41
+ }
42
+ else {
43
+ // Keep the original file name
44
+ absoluteTargetPath += sourcePath.substring(sourcePath.lastIndexOf('/') + 1);
52
45
  }
53
- // all preconditions met, now create copy job
54
- const sourceAbsoluteUrl = urlUtil.urlCombine(tenantUrl, serverRelativePath);
55
- const allowSchemaMismatch = args.options.allowSchemaMismatch || false;
56
- const requestUrl = urlUtil.urlCombine(webUrl, '/_api/site/CreateCopyJobs');
57
46
  const requestOptions = {
58
- url: requestUrl,
47
+ url: `${args.options.webUrl}/_api/SP.MoveCopyUtil.MoveFileByPath`,
59
48
  headers: {
60
- 'accept': 'application/json;odata=nometadata'
49
+ accept: 'application/json;odata=nometadata'
61
50
  },
51
+ responseType: 'json',
62
52
  data: {
63
- exportObjectUris: [sourceAbsoluteUrl],
64
- destinationUri: urlUtil.urlCombine(tenantUrl, args.options.targetUrl),
53
+ srcPath: {
54
+ DecodedUrl: absoluteSourcePath
55
+ },
56
+ destPath: {
57
+ DecodedUrl: absoluteTargetPath
58
+ },
59
+ overwrite: args.options.nameConflictBehavior === 'replace',
65
60
  options: {
66
- "AllowSchemaMismatch": allowSchemaMismatch,
67
- "IgnoreVersionHistory": true,
68
- "IsMoveMode": true
61
+ KeepBoth: args.options.nameConflictBehavior === 'rename',
62
+ ShouldBypassSharedLocks: !!args.options.bypassSharedLock,
63
+ RetainEditorAndModifiedOnMove: !!args.options.retainEditorAndModified
69
64
  }
70
- },
71
- responseType: 'json'
65
+ }
72
66
  };
73
- const jobInfo = await request.post(requestOptions);
74
- const copyJobInfo = jobInfo.value[0];
75
- const progressPollInterval = 1800; // 30 * 60; //used previously implemented interval. The API does not provide guidance on what value should be used.
76
- await new Promise((resolve, reject) => {
77
- setTimeout(() => {
78
- spo.waitUntilCopyJobFinished({
79
- copyJobInfo,
80
- siteUrl: webUrl,
81
- pollingInterval: progressPollInterval,
82
- resolve,
83
- reject,
84
- logger,
85
- debug: this.debug,
86
- verbose: this.verbose
87
- });
88
- }, progressPollInterval);
89
- });
67
+ await request.post(requestOptions);
90
68
  }
91
69
  catch (err) {
92
70
  this.handleRejectedODataJsonPromise(err);
93
71
  }
94
72
  }
95
- /**
96
- * Checks if a file exists on the server relative url
97
- */
98
- fileExists(webUrl, sourceUrl) {
99
- const requestUrl = `${webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting.encodeQueryParameter(sourceUrl)}')/`;
73
+ async getSourcePath(logger, options) {
74
+ if (options.sourceUrl) {
75
+ return urlUtil.getServerRelativePath(options.webUrl, options.sourceUrl);
76
+ }
77
+ if (this.verbose) {
78
+ await logger.logToStderr(`Retrieving server-relative path for file with ID '${options.sourceId}'...`);
79
+ }
100
80
  const requestOptions = {
101
- url: requestUrl,
102
- method: 'GET',
81
+ url: `${options.webUrl}/_api/Web/GetFileById('${options.sourceId}')?$select=ServerRelativePath`,
103
82
  headers: {
104
- 'accept': 'application/json;odata=nometadata'
83
+ accept: 'application/json;odata=nometadata'
105
84
  },
106
85
  responseType: 'json'
107
86
  };
108
- return request.get(requestOptions);
87
+ const file = await request.get(requestOptions);
88
+ return file.ServerRelativePath.DecodedUrl;
109
89
  }
110
- /**
111
- * Moves file in the site recycle bin
112
- */
113
- async recycleFile(tenantUrl, targetUrl, filename, logger) {
114
- const targetFolderAbsoluteUrl = urlUtil.urlCombine(tenantUrl, targetUrl);
115
- // since the target WebFullUrl is unknown we can use getRequestDigest
116
- // to get it from target folder absolute url.
117
- // Similar approach used here Microsoft.SharePoint.Client.Web.WebUrlFromFolderUrlDirect
118
- const contextResponse = await spo.getRequestDigest(targetFolderAbsoluteUrl);
119
- if (this.debug) {
120
- await logger.logToStderr(`contextResponse.WebFullUrl: ${contextResponse.WebFullUrl}`);
121
- }
122
- const targetFileServerRelativeUrl = `${urlUtil.getServerRelativePath(contextResponse.WebFullUrl, targetUrl)}/${filename}`;
123
- const removeOptions = {
124
- webUrl: contextResponse.WebFullUrl,
125
- url: targetFileServerRelativeUrl,
126
- recycle: true,
127
- force: true,
128
- debug: this.debug,
129
- verbose: this.verbose
130
- };
131
- try {
132
- await Cli.executeCommand(removeCommand, { options: { ...removeOptions, _: [] } });
133
- }
134
- catch (err) {
135
- if (err !== undefined && err.message !== undefined && err.message.includes('does not exist')) {
136
- }
137
- else {
138
- throw err;
139
- }
140
- }
90
+ getAbsoluteUrl(webUrl, url) {
91
+ return url.startsWith('https://') ? url : urlUtil.getAbsoluteUrl(webUrl, url);
141
92
  }
142
93
  }
143
94
  _SpoFileMoveCommand_instances = new WeakSet(), _SpoFileMoveCommand_initTelemetry = function _SpoFileMoveCommand_initTelemetry() {
144
95
  this.telemetry.push((args) => {
145
96
  Object.assign(this.telemetryProperties, {
146
- deleteIfAlreadyExists: args.options.deleteIfAlreadyExists || false,
147
- allowSchemaMismatch: args.options.allowSchemaMismatch || false
97
+ sourceUrl: typeof args.options.sourceUrl !== 'undefined',
98
+ sourceId: typeof args.options.sourceId !== 'undefined',
99
+ newName: typeof args.options.newName !== 'undefined',
100
+ nameConflictBehavior: typeof args.options.nameConflictBehavior !== 'undefined',
101
+ retainEditorAndModified: !!args.options.retainEditorAndModified,
102
+ bypassSharedLock: !!args.options.bypassSharedLock
148
103
  });
149
104
  });
150
105
  }, _SpoFileMoveCommand_initOptions = function _SpoFileMoveCommand_initOptions() {
151
106
  this.options.unshift({
152
107
  option: '-u, --webUrl <webUrl>'
153
108
  }, {
154
- option: '-s, --sourceUrl <sourceUrl>'
109
+ option: '-s, --sourceUrl [sourceUrl]'
110
+ }, {
111
+ option: '-i, --sourceId [sourceId]'
155
112
  }, {
156
113
  option: '-t, --targetUrl <targetUrl>'
157
114
  }, {
158
- option: '--deleteIfAlreadyExists'
115
+ option: '--newName [newName]'
116
+ }, {
117
+ option: '--nameConflictBehavior [nameConflictBehavior]',
118
+ autocomplete: this.nameConflictBehaviorOptions
159
119
  }, {
160
- option: '--allowSchemaMismatch'
120
+ option: '--retainEditorAndModified'
121
+ }, {
122
+ option: '--bypassSharedLock'
161
123
  });
162
124
  }, _SpoFileMoveCommand_initValidators = function _SpoFileMoveCommand_initValidators() {
163
- this.validators.push(async (args) => validation.isValidSharePointUrl(args.options.webUrl));
125
+ this.validators.push(async (args) => {
126
+ const isValidSharePointUrl = validation.isValidSharePointUrl(args.options.webUrl);
127
+ if (isValidSharePointUrl !== true) {
128
+ return isValidSharePointUrl;
129
+ }
130
+ if (args.options.sourceId && !validation.isValidGuid(args.options.sourceId)) {
131
+ return `'${args.options.sourceId}' is not a valid GUID for sourceId.`;
132
+ }
133
+ if (args.options.nameConflictBehavior && this.nameConflictBehaviorOptions.indexOf(args.options.nameConflictBehavior) === -1) {
134
+ return `'${args.options.nameConflictBehavior}' is not a valid value for nameConflictBehavior. Allowed values are: ${this.nameConflictBehaviorOptions.join(', ')}.`;
135
+ }
136
+ return true;
137
+ });
138
+ }, _SpoFileMoveCommand_initOptionSets = function _SpoFileMoveCommand_initOptionSets() {
139
+ this.optionSets.push({ options: ['sourceUrl', 'sourceId'] });
164
140
  };
165
141
  export default new SpoFileMoveCommand();
166
142
  //# sourceMappingURL=file-move.js.map
@@ -43,7 +43,7 @@ class SpoFileRemoveCommand extends SpoCommand {
43
43
  }
44
44
  else {
45
45
  const serverRelativePath = urlUtil.getServerRelativePath(args.options.webUrl, args.options.url);
46
- requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting.encodeQueryParameter(serverRelativePath)}')`;
46
+ requestUrl = `${args.options.webUrl}/_api/web/GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativePath)}')`;
47
47
  }
48
48
  if (args.options.recycle) {
49
49
  requestUrl += `/recycle()`;
@@ -73,7 +73,7 @@ class SpoFileRemoveCommand extends SpoCommand {
73
73
  type: 'confirm',
74
74
  name: 'continue',
75
75
  default: false,
76
- message: `Are you sure you want to ${args.options.recycle ? "recycle" : "remove"} the file ${args.options.id || args.options.url} located in site ${args.options.webUrl}?`
76
+ message: `Are you sure you want to ${args.options.recycle ? 'recycle' : 'remove'} the file ${args.options.id || args.options.url} located in site ${args.options.webUrl}?`
77
77
  });
78
78
  if (result.continue) {
79
79
  await removeFile();
@@ -84,10 +84,10 @@ class SpoFileRemoveCommand extends SpoCommand {
84
84
  _SpoFileRemoveCommand_instances = new WeakSet(), _SpoFileRemoveCommand_initTelemetry = function _SpoFileRemoveCommand_initTelemetry() {
85
85
  this.telemetry.push((args) => {
86
86
  Object.assign(this.telemetryProperties, {
87
- id: (!(!args.options.id)).toString(),
88
- url: (!(!args.options.url)).toString(),
89
- recycle: (!(!args.options.recycle)).toString(),
90
- force: (!(!args.options.force)).toString()
87
+ id: typeof args.options.id !== 'undefined',
88
+ url: typeof args.options.url !== 'undefined',
89
+ recycle: !!args.options.recycle,
90
+ force: !!args.options.force
91
91
  });
92
92
  });
93
93
  }, _SpoFileRemoveCommand_initOptions = function _SpoFileRemoveCommand_initOptions() {
@@ -41,7 +41,7 @@ class SpoFileRenameCommand extends SpoCommand {
41
41
  }]
42
42
  };
43
43
  const requestOptions = {
44
- url: `${webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting.encodeQueryParameter(originalFileServerRelativePath)}')/ListItemAllFields/ValidateUpdateListItem()`,
44
+ url: `${webUrl}/_api/web/GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(originalFileServerRelativePath)}')/ListItemAllFields/ValidateUpdateListItem()`,
45
45
  headers: {
46
46
  'accept': 'application/json;odata=nometadata'
47
47
  },
@@ -56,7 +56,7 @@ class SpoFileRenameCommand extends SpoCommand {
56
56
  }
57
57
  }
58
58
  async getFile(originalFileServerRelativeUrl, webUrl) {
59
- const requestUrl = `${webUrl}/_api/web/GetFileByServerRelativeUrl('${formatting.encodeQueryParameter(originalFileServerRelativeUrl)}')?$select=UniqueId`;
59
+ const requestUrl = `${webUrl}/_api/web/GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(originalFileServerRelativeUrl)}')?$select=UniqueId`;
60
60
  const requestOptions = {
61
61
  url: requestUrl,
62
62
  headers: {
@@ -61,7 +61,7 @@ class SpoFileRetentionLabelEnsureCommand extends SpoCommand {
61
61
  }
62
62
  else {
63
63
  const serverRelativeUrl = urlUtil.getServerRelativePath(args.options.webUrl, args.options.fileUrl);
64
- requestUrl += `GetFileByServerRelativeUrl('${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
64
+ requestUrl += `GetFileByServerRelativePath(DecodedUrl='${formatting.encodeQueryParameter(serverRelativeUrl)}')`;
65
65
  }
66
66
  const requestOptions = {
67
67
  url: `${requestUrl}?$expand=ListItemAllFields,ListItemAllFields/ParentList&$select=ServerRelativeUrl,ListItemAllFields/ParentList/Id,ListItemAllFields/Id`,