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'; import { DatasetUploadLimits } from '../models/DatasetUploadLimits'; export interface IDatasetsRepository { getDataset(datasetId: number | string, datasetVersionId: string, includeDeaccessioned: boolean, keepRawFields: boolean): Promise; getDatasetLocks(datasetId: number | string): Promise; getDatasetCitation(datasetId: number, datasetVersionId: string, includeDeaccessioned: boolean): Promise; getPrivateUrlDataset(token: string, keepRawFields: boolean): Promise; getAllDatasetPreviews(limit?: number, offset?: number, collectionId?: string): Promise; getDatasetSummaryFieldNames(): Promise; getPrivateUrlDatasetCitation(token: string): Promise; getDatasetUserPermissions(datasetId: number | string): Promise; getDatasetVersionDiff(datasetId: number | string, newVersionId: string, oldVersionId: string, includeDeaccessioned: boolean): Promise; createDataset(newDataset: DatasetDTO, datasetMetadataBlocks: MetadataBlock[], collectionId: string, datasetType?: string): Promise; publishDataset(datasetId: number | string, versionUpdateType: VersionUpdateType): Promise; updateDataset(datasetId: number | string, dataset: DatasetDTO, datasetMetadataBlocks: MetadataBlock[], sourceLastUpdateTime?: string): Promise; deaccessionDataset(datasetId: number | string, datasetVersionId: string, deaccessionDTO: DatasetDeaccessionDTO): Promise; getDatasetDownloadCount(datasetId: number | string, includeMDC?: boolean): Promise; getDatasetVersionsSummaries(datasetId: number | string, limit?: number, offset?: number): Promise; deleteDatasetDraft(datasetId: number | string): Promise; linkDataset(datasetId: number | string, collectionIdOrAlias: number | string): Promise; unlinkDataset(datasetId: number | string, collectionIdOrAlias: number | string): Promise; getDatasetLinkedCollections(datasetId: number | string): Promise; getDatasetAvailableCategories(datasetId: number | string): Promise; getDatasetCitationInOtherFormats(datasetId: number | string, datasetVersionId: string, format: CitationFormat, includeDeaccessioned?: boolean): Promise; getDatasetAvailableDatasetTypes(): Promise; getDatasetAvailableDatasetType(datasetTypeId: number | string): Promise; addDatasetType(datasetType: DatasetTypeDTO): Promise; linkDatasetTypeWithMetadataBlocks(datasetTypeId: number | string, metadataBlocks: string[]): Promise; setAvailableLicensesForDatasetType(datasetTypeId: number | string, licenses: string[]): Promise; deleteDatasetType(datasetTypeId: number): Promise; updateTermsOfAccess(datasetId: number | string, termsOfAccess: TermsOfAccess): Promise; updateDatasetLicense(datasetId: number | string, payload: DatasetLicenseUpdateRequest): Promise; getDatasetStorageDriver(datasetId: number | string): Promise; getDatasetUploadLimits(datasetId: number | string): Promise; }