@@ -20,6 +20,7 @@ import { transformUploadDestinationsResponseToUploadDestination } from './transf
2020import { UploadedFileDTO } from '../../domain/dtos/UploadedFileDTO'
2121import { UpdateFileMetadataDTO } from '../../domain/dtos/UpdateFileMetadataDTO'
2222import { ApiConstants } from '../../../core/infra/repositories/ApiConstants'
23+ import { AxiosResponse } from 'axios'
2324
2425export interface GetFilesQueryParams {
2526 includeDeaccessioned : boolean
@@ -60,6 +61,10 @@ export interface ChecksumRequestBody {
6061 '@type' : string
6162}
6263
64+ type ReplaceFileResponseMinimal = {
65+ files : { dataFile : { id : number } } [ ]
66+ }
67+
6368export class FilesRepository extends ApiRepository implements IFilesRepository {
6469 private readonly datasetsResourceName : string = 'datasets'
6570 private readonly filesResourceName : string = 'files'
@@ -307,7 +312,7 @@ export class FilesRepository extends ApiRepository implements IFilesRepository {
307312 public async replaceFile (
308313 fileId : number | string ,
309314 uploadedFileDTO : UploadedFileDTO
310- ) : Promise < undefined > {
315+ ) : Promise < number > {
311316 const requestBody : UploadedFileRequestBody = {
312317 fileName : uploadedFileDTO . fileName ,
313318 checksum : {
@@ -332,7 +337,10 @@ export class FilesRepository extends ApiRepository implements IFilesRepository {
332337 { } ,
333338 ApiConstants . CONTENT_TYPE_MULTIPART_FORM_DATA
334339 )
335- . then ( ( ) => undefined )
340+ . then ( ( response : AxiosResponse < { data : ReplaceFileResponseMinimal } > ) => {
341+ const fileNumber = response . data . data . files [ 0 ] . dataFile . id
342+ return fileNumber
343+ } )
336344 . catch ( ( error ) => {
337345 throw error
338346 } )
0 commit comments