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 16, 2024
1 parent 609e654 commit 319ebcb
Show file tree
Hide file tree
Showing 8 changed files with 38 additions and 31 deletions.
28 changes: 14 additions & 14 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 Expand Up @@ -405,15 +408,12 @@ export default defineComponent({
}
const editorOptions = configStore.options.editor
if (editorOptions.autosaveEnabled) {
autosaveIntervalId = setInterval(
async () => {
if (isDirty.value) {
await save()
autosavePopup()
}
},
(editorOptions.autosaveInterval || 120) * 1000
)
autosaveIntervalId = setInterval(async () => {
if (isDirty.value) {
await save()
autosavePopup()
}
}, (editorOptions.autosaveInterval || 120) * 1000)
}
})
onBeforeUnmount(() => {
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 @@ -7,7 +7,7 @@ import { useGettext } from 'vue3-gettext'
import { computed } from 'vue'
import { FileAction, FileActionOptions } from '../types'
import { Drive } from '@ownclouders/web-client/graph/generated'
import { buildSpace } from '@ownclouders/web-client'
import { buildSpace, Resource } from '@ownclouders/web-client'
import { useMessages, useSpacesStore, useUserStore } from '../../piniaStores'

export const useFileActionsSetImage = () => {
Expand All @@ -27,19 +27,20 @@ export const useFileActionsSetImage = () => {
const destinationPath = `/.space/${resources[0].name}`
const { copyFiles, getFileInfo, createFolder } = clientService.webdav

let metaFolder: Resource
try {
try {
await getFileInfo(space, { path: '.space' })
metaFolder = await getFileInfo(space, { path: '.space' })
} catch (_) {
await createFolder(space, { path: '.space' })
metaFolder = await createFolder(space, { path: '.space' })
}

if (sourcePath !== destinationPath) {
await copyFiles(
space,
{ path: sourcePath },
{ fileId: resources[0].id },
space,
{ path: destinationPath },
{ parentFolderId: metaFolder.id, name: resources[0].name },
{ overwrite: true }
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,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 319ebcb

Please sign in to comment.