-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathIFilesRepository.ts
More file actions
94 lines (76 loc) · 3.02 KB
/
IFilesRepository.ts
File metadata and controls
94 lines (76 loc) · 3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import { FilesSubset } from '../models/FilesSubset'
import { FileDataTable } from '../models/FileDataTable'
import { FileUserPermissions } from '../models/FileUserPermissions'
import { FileSearchCriteria, FileOrderCriteria } from '../models/FileCriteria'
import { FileCounts } from '../models/FileCounts'
import { FileDownloadSizeMode } from '../models/FileDownloadSizeMode'
import { FileModel } from '../models/FileModel'
import { Dataset } from '../../../datasets'
import { FileUploadDestination } from '../models/FileUploadDestination'
import { UploadedFileDTO } from '../dtos/UploadedFileDTO'
import { UpdateFileMetadataDTO } from '../dtos/UpdateFileMetadataDTO'
import { RestrictFileDTO } from '../dtos/RestrictFileDTO'
import { FileVersionSummaryInfo } from '../models/FileVersionSummaryInfo'
export interface IFilesRepository {
getDatasetFiles(
datasetId: number | string,
datasetVersionId: string,
includeDeaccessioned: boolean,
fileOrderCriteria: FileOrderCriteria,
limit?: number,
offset?: number,
fileSearchCriteria?: FileSearchCriteria
): Promise<FilesSubset>
getDatasetFileCounts(
datasetId: number | string,
datasetVersionId: string,
includeDeaccessioned: boolean,
fileSearchCriteria?: FileSearchCriteria
): Promise<FileCounts>
getDatasetFilesTotalDownloadSize(
datasetId: number | string,
datasetVersionId: string,
includeDeaccessioned: boolean,
fileDownloadSizeMode: FileDownloadSizeMode,
fileSearchCriteria?: FileSearchCriteria
): Promise<number>
getFileDownloadCount(fileId: number | string): Promise<number>
getFileUserPermissions(fileId: number | string): Promise<FileUserPermissions>
getFileDataTables(fileId: number | string): Promise<FileDataTable[]>
getFile(
fileId: number | string,
datasetVersionId: string,
returnDatasetVersion: boolean,
includeDeaccessioned: boolean
): Promise<FileModel | [FileModel, Dataset]>
getFileCitation(
fileId: number | string,
datasetVersionId: string,
includeDeaccessioned: boolean
): Promise<string>
getFileUploadDestination(datasetId: number | string, file: File): Promise<FileUploadDestination>
addUploadedFilesToDataset(
datasetId: number | string,
uploadedFileDTOs: UploadedFileDTO[]
): Promise<undefined>
deleteFile(fileId: number | string): Promise<undefined>
replaceFile(fileId: number | string, uploadedFileDTO: UploadedFileDTO): Promise<number>
restrictFile(fileId: number | string, restrictFileDTO: RestrictFileDTO): Promise<void>
updateFileMetadata(
fileId: number | string,
updateFileMetadataDTO: UpdateFileMetadataDTO,
sourceLastUpdateTime?: string
): Promise<void>
updateFileTabularTags(
fileId: number | string,
tabularTags: string[],
replace?: boolean
): Promise<void>
updateFileCategories(
fileId: number | string,
categories: string[],
replace?: boolean
): Promise<void>
getFileVersionSummaries(fileId: number | string): Promise<FileVersionSummaryInfo[]>
isFileDeleted(fileId: number | string): Promise<boolean>
}