Skip to content

Commit

Permalink
refactor: use ids for copy and move operations
Browse files Browse the repository at this point in the history
  • Loading branch information
JammingBen committed Jul 19, 2024
1 parent d4afb11 commit 2648d59
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 17 deletions.
13 changes: 8 additions & 5 deletions packages/web-pkg/src/components/AppTemplates/AppWrapper.vue
Original file line number Diff line number Diff line change
Expand Up @@ -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))) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
})
)
)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
})
)
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
})
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export type TransferData = {
sourceSpace: SpaceResource
targetSpace: SpaceResource
targetFolder: Resource
path: string
targetName: string
overwrite: boolean
transferType: TransferType
}

0 comments on commit 2648d59

Please sign in to comment.