X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/6e0bfefd885bb7ebb445f60f3985bbbfca361935..8d374520f28b507e8934d57be46374044fb93e2f:/src/services/collection-service/collection-service.ts diff --git a/src/services/collection-service/collection-service.ts b/src/services/collection-service/collection-service.ts index 0c3cda3bcb..92e4dfbae3 100644 --- a/src/services/collection-service/collection-service.ts +++ b/src/services/collection-service/collection-service.ts @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import { CollectionResource } from "models/collection"; +import { CollectionResource, defaultCollectionSelectedFields } from "models/collection"; import { AxiosInstance } from "axios"; import { CollectionFile, CollectionDirectory } from "models/collection-file"; import { WebDAV } from "common/webdav"; @@ -11,6 +11,7 @@ import { extractFilesData } from "./collection-service-files-response"; import { TrashableResourceService } from "services/common-service/trashable-resource-service"; import { ApiActions } from "services/api/api-actions"; import { customEncodeURI } from "common/url"; +import { Session } from "models/session"; export type UploadProgress = (fileId: number, loaded: number, total: number, currentTime: number) => void; @@ -28,6 +29,12 @@ export class CollectionService extends TrashableResourceService) { return super.create({ ...data, preserveVersion: true }); } @@ -68,11 +75,11 @@ export class CollectionService extends TrashableResourceService { return; }) { - const fileURL = `c=${collectionUuid}/${file.name}`; + private async uploadFile(collectionUuid: string, file: File, fileId: number, onProgress: UploadProgress = () => { return; }, targetLocation: string = '') { + const fileURL = `c=${targetLocation !== '' ? targetLocation : collectionUuid}/${file.name}`.replace('//', '/'); const requestConfig = { headers: { 'Content-Type': 'text/octet-stream' }, onUploadProgress: (e: ProgressEvent) => { onProgress(fileId, e.loaded, e.total, Date.now()); - } + }, }; return this.webdavClient.upload(fileURL, [file], requestConfig); }