diff --git a/packages/web-pkg/src/components/AppTemplates/AppWrapper.vue b/packages/web-pkg/src/components/AppTemplates/AppWrapper.vue index 03416d9b642..c8703f8e957 100644 --- a/packages/web-pkg/src/components/AppTemplates/AppWrapper.vue +++ b/packages/web-pkg/src/components/AppTemplates/AppWrapper.vue @@ -274,16 +274,19 @@ export default defineComponent({ const newExtension = props.importResourceWithExtension(unref(resource)) if (newExtension) { const timestamp = DateTime.local().toFormat('yyyyMMddHHmmss') - const targetPath = `${unref(resource).name}_${timestamp}.${newExtension}` + const name = `${unref(resource).name}_${timestamp}.${newExtension}` if ( - !(yield clientService.webdav.copyFiles(unref(space), unref(resource), unref(space), { - path: targetPath - })) + !(yield clientService.webdav.copyFiles( + unref(space), + { fileId: unref(resource).id }, + unref(space), + { parentFolderId: unref(resource).parentFolderId, name } + )) ) { throw new Error($gettext('Importing failed')) } - resource.value = { path: targetPath } as Resource + resource.value = { path: name } as Resource } if (replaceInvalidFileRoute(currentFileContext, unref(resource))) { diff --git a/packages/web-pkg/src/composables/actions/files/useFileActionsCreateSpaceFromResource.ts b/packages/web-pkg/src/composables/actions/files/useFileActionsCreateSpaceFromResource.ts index de295d5fb41..784f3facecc 100644 --- a/packages/web-pkg/src/composables/actions/files/useFileActionsCreateSpaceFromResource.ts +++ b/packages/web-pkg/src/composables/actions/files/useFileActionsCreateSpaceFromResource.ts @@ -58,7 +58,12 @@ export const useFileActionsCreateSpaceFromResource = () => { for (const resource of resources) { copyOps.push( - queue.add(() => webdav.copyFiles(space, resource, createdSpace, { path: resource.name })) + queue.add(() => + webdav.copyFiles(space, { fileId: resource.id }, createdSpace, { + parentFolderId: createdSpace.id, + name: resource.name + }) + ) ) } diff --git a/packages/web-pkg/src/composables/actions/files/useFileActionsRename.ts b/packages/web-pkg/src/composables/actions/files/useFileActionsRename.ts index 45f31e0e14c..2816263745e 100644 --- a/packages/web-pkg/src/composables/actions/files/useFileActionsRename.ts +++ b/packages/web-pkg/src/composables/actions/files/useFileActionsRename.ts @@ -2,7 +2,6 @@ import { isSameResource } from '../../../helpers/resource' import { isLocationTrashActive, isLocationSharesActive } from '../../../router' import { Resource } from '@ownclouders/web-client' import { dirname, join } from 'path' -import { WebDAV } from '@ownclouders/web-client/webdav' import { SpaceResource, isShareSpaceResource, @@ -90,8 +89,9 @@ export const useFileActionsRename = () => { try { const newPath = join(dirname(resource.path), newName) - await (clientService.webdav as WebDAV).moveFiles(space, resource, space, { - path: newPath + await clientService.webdav.moveFiles(space, { fileId: resource.id }, space, { + parentFolderId: resource.parentFolderId, + name: newName }) const isCurrentFolder = isSameResource(resource, currentFolder) diff --git a/packages/web-pkg/src/composables/actions/spaces/useSpaceActionsDuplicate.ts b/packages/web-pkg/src/composables/actions/spaces/useSpaceActionsDuplicate.ts index c1f94b3bbe1..ef7b76c2650 100644 --- a/packages/web-pkg/src/composables/actions/spaces/useSpaceActionsDuplicate.ts +++ b/packages/web-pkg/src/composables/actions/spaces/useSpaceActionsDuplicate.ts @@ -51,8 +51,9 @@ export const useSpaceActionsDuplicate = () => { for (const file of existingSpaceFiles.children) { copyOps.push( queue.add(() => - clientService.webdav.copyFiles(existingSpace, file, duplicatedSpace, { - path: file.name + clientService.webdav.copyFiles(existingSpace, { fileId: file.id }, duplicatedSpace, { + parentFolderId: duplicatedSpace.id, + name: file.name }) ) ) diff --git a/packages/web-pkg/src/composables/webWorkers/pasteWorker/worker.ts b/packages/web-pkg/src/composables/webWorkers/pasteWorker/worker.ts index fa9b1d739ee..b5bbedbf611 100644 --- a/packages/web-pkg/src/composables/webWorkers/pasteWorker/worker.ts +++ b/packages/web-pkg/src/composables/webWorkers/pasteWorker/worker.ts @@ -46,18 +46,18 @@ self.onmessage = async (e: MessageEvent) => { const doCopy = (transferData: TransferData) => webdav.copyFiles( transferData.sourceSpace, - transferData.resource, + { fileId: transferData.resource.id }, transferData.targetSpace, - { path: transferData.path }, + { parentFolderId: transferData.targetFolder.id, name: transferData.targetName }, { overwrite: transferData.overwrite } ) const doMove = (transferData: TransferData) => webdav.moveFiles( transferData.sourceSpace, - transferData.resource, + { fileId: transferData.resource.id }, transferData.targetSpace, - { path: transferData.path }, + { parentFolderId: transferData.targetFolder.id, name: transferData.targetName }, { overwrite: transferData.overwrite } ) diff --git a/packages/web-pkg/src/helpers/resource/conflictHandling/transfer.ts b/packages/web-pkg/src/helpers/resource/conflictHandling/transfer.ts index bb6ea9b796d..def890526b0 100644 --- a/packages/web-pkg/src/helpers/resource/conflictHandling/transfer.ts +++ b/packages/web-pkg/src/helpers/resource/conflictHandling/transfer.ts @@ -168,7 +168,7 @@ export class ResourceTransfer extends ConflictDialog { sourceSpace: this.sourceSpace, targetSpace: this.targetSpace, targetFolder: this.targetFolder, - path: join(this.targetFolder.path, targetName), + targetName, overwrite: overwriteTarget, transferType }) diff --git a/packages/web-pkg/src/helpers/resource/conflictHandling/types.ts b/packages/web-pkg/src/helpers/resource/conflictHandling/types.ts index 5a0666883da..baa8dbb8efc 100644 --- a/packages/web-pkg/src/helpers/resource/conflictHandling/types.ts +++ b/packages/web-pkg/src/helpers/resource/conflictHandling/types.ts @@ -21,7 +21,7 @@ export type TransferData = { sourceSpace: SpaceResource targetSpace: SpaceResource targetFolder: Resource - path: string + targetName: string overwrite: boolean transferType: TransferType }