-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathDatasetRepository.ts
More file actions
69 lines (66 loc) · 2.84 KB
/
DatasetRepository.ts
File metadata and controls
69 lines (66 loc) · 2.84 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
import { Dataset, DatasetLock } from '../models/Dataset'
import { DatasetVersionDiff } from '../models/DatasetVersionDiff'
import { DatasetPaginationInfo } from '../models/DatasetPaginationInfo'
import { DatasetDTO } from '../useCases/DTOs/DatasetDTO'
import { DatasetsWithCount } from '../models/DatasetsWithCount'
import { VersionUpdateType } from '../models/VersionUpdateType'
import { DatasetVersionSummaryInfo } from '../models/DatasetVersionSummaryInfo'
import { DatasetDeaccessionDTO } from '../useCases/DTOs/DatasetDTO'
import { DatasetDownloadCount } from '../models/DatasetDownloadCount'
import { FormattedCitation, CitationFormat } from '../models/DatasetCitation'
import { DatasetTemplate } from '../models/DatasetTemplate'
import { CollectionSummary } from '@/collection/domain/models/CollectionSummary'
import { DatasetType } from '../models/DatasetType'
export interface DatasetRepository {
getByPersistentId: (
persistentId: string,
version?: string,
requestedVersion?: string,
keepRawFields?: boolean
) => Promise<Dataset | undefined>
getLocks(persistentId: string): Promise<DatasetLock[]>
getByPrivateUrlToken: (privateUrlToken: string) => Promise<Dataset | undefined>
getVersionDiff: (
persistentId: string,
oldVersion: string,
newVersion: string,
includeDeaccessioned: boolean
) => Promise<DatasetVersionDiff>
create: (
dataset: DatasetDTO,
collectionId: string,
datasetType?: string
) => Promise<{ persistentId: string }>
updateMetadata: (
datasetId: string | number,
datasetDTO: DatasetDTO,
sourceLastUpdateTime?: string
) => Promise<void>
deaccession: (
datasetId: string | number,
version: string,
deaccessionDTO: DatasetDeaccessionDTO
) => Promise<void>
getAllWithCount: (
collectionId: string,
paginationInfo: DatasetPaginationInfo
) => Promise<DatasetsWithCount>
publish(persistentId: string, versionUpdateType: VersionUpdateType): Promise<void>
getDatasetVersionsSummaries: (datasetId: number | string) => Promise<DatasetVersionSummaryInfo[]>
getDownloadCount: (
datasetId: string | number,
includeMDC?: boolean
) => Promise<DatasetDownloadCount>
deleteDatasetDraft: (datasetId: string | number) => Promise<void>
getAvailableCategories: (datasetId: string | number) => Promise<string[]>
getDatasetCitationInOtherFormats: (
datasetId: string | number,
version: string,
format: CitationFormat
) => Promise<FormattedCitation>
getTemplates: (collectionIdOrAlias: number | string) => Promise<DatasetTemplate[]>
link(datasetId: string | number, collectionIdOrAlias: string | number): Promise<void>
unlink(datasetId: string | number, collectionIdOrAlias: string | number): Promise<void>
getDatasetLinkedCollections: (datasetId: string | number) => Promise<CollectionSummary[]>
getAvailableDatasetTypes: () => Promise<DatasetType[]>
}