-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathIDatasetsRepository.ts
More file actions
114 lines (113 loc) · 4.61 KB
/
IDatasetsRepository.ts
File metadata and controls
114 lines (113 loc) · 4.61 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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import { Dataset, VersionUpdateType } from '../models/Dataset'
import { DatasetLock } from '../models/DatasetLock'
import { DatasetPreviewSubset } from '../models/DatasetPreviewSubset'
import { DatasetUserPermissions } from '../models/DatasetUserPermissions'
import { CreatedDatasetIdentifiers } from '../models/CreatedDatasetIdentifiers'
import { DatasetDTO } from '../dtos/DatasetDTO'
import { DatasetDeaccessionDTO } from '../dtos/DatasetDeaccessionDTO'
import { MetadataBlock } from '../../../metadataBlocks'
import { DatasetVersionDiff } from '../models/DatasetVersionDiff'
import { DatasetDownloadCount } from '../models/DatasetDownloadCount'
import { DatasetVersionSummarySubset } from '../models/DatasetVersionSummaryInfo'
import { DatasetLinkedCollection } from '../models/DatasetLinkedCollection'
import { CitationFormat } from '../models/CitationFormat'
import { FormattedCitation } from '../models/FormattedCitation'
import { DatasetType } from '../models/DatasetType'
import { TermsOfAccess } from '../models/Dataset'
import { DatasetLicenseUpdateRequest } from '../dtos/DatasetLicenseUpdateRequest'
import { DatasetTypeDTO } from '../dtos/DatasetTypeDTO'
import { StorageDriver } from '../models/StorageDriver'
export interface IDatasetsRepository {
getDataset(
datasetId: number | string,
datasetVersionId: string,
includeDeaccessioned: boolean,
keepRawFields: boolean
): Promise<Dataset>
getDatasetLocks(datasetId: number | string): Promise<DatasetLock[]>
getDatasetCitation(
datasetId: number,
datasetVersionId: string,
includeDeaccessioned: boolean
): Promise<string>
getPrivateUrlDataset(token: string, keepRawFields: boolean): Promise<Dataset>
getAllDatasetPreviews(
limit?: number,
offset?: number,
collectionId?: string
): Promise<DatasetPreviewSubset>
getDatasetSummaryFieldNames(): Promise<string[]>
getPrivateUrlDatasetCitation(token: string): Promise<string>
getDatasetUserPermissions(datasetId: number | string): Promise<DatasetUserPermissions>
getDatasetVersionDiff(
datasetId: number | string,
newVersionId: string,
oldVersionId: string,
includeDeaccessioned: boolean
): Promise<DatasetVersionDiff>
createDataset(
newDataset: DatasetDTO,
datasetMetadataBlocks: MetadataBlock[],
collectionId: string,
datasetType?: string
): Promise<CreatedDatasetIdentifiers>
publishDataset(datasetId: number | string, versionUpdateType: VersionUpdateType): Promise<void>
updateDataset(
datasetId: number | string,
dataset: DatasetDTO,
datasetMetadataBlocks: MetadataBlock[],
sourceLastUpdateTime?: string
): Promise<void>
deaccessionDataset(
datasetId: number | string,
datasetVersionId: string,
deaccessionDTO: DatasetDeaccessionDTO
): Promise<void>
getDatasetDownloadCount(
datasetId: number | string,
includeMDC?: boolean
): Promise<DatasetDownloadCount>
getDatasetVersionsSummaries(
datasetId: number | string,
limit?: number,
offset?: number
): Promise<DatasetVersionSummarySubset>
deleteDatasetDraft(datasetId: number | string): Promise<void>
linkDataset(datasetId: number | string, collectionIdOrAlias: number | string): Promise<void>
unlinkDataset(datasetId: number | string, collectionIdOrAlias: number | string): Promise<void>
getDatasetLinkedCollections(datasetId: number | string): Promise<DatasetLinkedCollection[]>
getDatasetAvailableCategories(datasetId: number | string): Promise<string[]>
getDatasetCitationInOtherFormats(
datasetId: number | string,
datasetVersionId: string,
format: CitationFormat,
includeDeaccessioned?: boolean
): Promise<FormattedCitation>
getDatasetAvailableDatasetTypes(): Promise<DatasetType[]>
getDatasetAvailableDatasetType(datasetTypeId: number | string): Promise<DatasetType>
addDatasetType(datasetType: DatasetTypeDTO): Promise<DatasetType>
linkDatasetTypeWithMetadataBlocks(
datasetTypeId: number | string,
metadataBlocks: string[]
): Promise<void>
setAvailableLicensesForDatasetType(
datasetTypeId: number | string,
licenses: string[]
): Promise<void>
deleteDatasetType(datasetTypeId: number): Promise<void>
updateTermsOfAccess(datasetId: number | string, termsOfAccess: TermsOfAccess): Promise<void>
updateDatasetLicense(
datasetId: number | string,
payload: DatasetLicenseUpdateRequest
): Promise<void>
getDatasetStorageDriver(datasetId: number | string): Promise<StorageDriver>
assignRoleOnDataset(
datasetId: number | string,
roleAssignee: string,
roleAlias: string
): Promise<void>
unassignRoleOnDataset(
datasetId: number | string,
roleAssignmentId: number
): Promise<void>
}