diff --git a/src/datasets/domain/dtos/DatasetTypeDTO.ts b/src/datasets/domain/dtos/DatasetTypeDTO.ts new file mode 100644 index 00000000..3f6b1c1b --- /dev/null +++ b/src/datasets/domain/dtos/DatasetTypeDTO.ts @@ -0,0 +1,3 @@ +import { DatasetType } from '../models/DatasetType' + +export type DatasetTypeDTO = Omit diff --git a/src/datasets/domain/models/DatasetType.ts b/src/datasets/domain/models/DatasetType.ts index 56a5ed43..5475cdaf 100644 --- a/src/datasets/domain/models/DatasetType.ts +++ b/src/datasets/domain/models/DatasetType.ts @@ -1,5 +1,5 @@ export interface DatasetType { - id?: number + id: number name: string linkedMetadataBlocks?: string[] availableLicenses?: string[] diff --git a/src/datasets/domain/repositories/IDatasetsRepository.ts b/src/datasets/domain/repositories/IDatasetsRepository.ts index c8dc1f0f..91674966 100644 --- a/src/datasets/domain/repositories/IDatasetsRepository.ts +++ b/src/datasets/domain/repositories/IDatasetsRepository.ts @@ -14,6 +14,7 @@ import { CitationFormat } from '../models/CitationFormat' import { FormattedCitation } from '../models/FormattedCitation' import { DatasetTemplate } from '../models/DatasetTemplate' import { DatasetType } from '../models/DatasetType' +import { DatasetTypeDTO } from '../dtos/DatasetTypeDTO' export interface IDatasetsRepository { getDataset( @@ -80,7 +81,7 @@ export interface IDatasetsRepository { getDatasetTemplates(collectionIdOrAlias: number | string): Promise getDatasetAvailableDatasetTypes(): Promise getDatasetAvailableDatasetType(datasetTypeId: number | string): Promise - addDatasetType(datasetType: DatasetType): Promise + addDatasetType(datasetType: DatasetTypeDTO): Promise linkDatasetTypeWithMetadataBlocks( datasetTypeId: number | string, metadataBlocks: string[] diff --git a/src/datasets/domain/useCases/AddDatasetType.ts b/src/datasets/domain/useCases/AddDatasetType.ts index 7e2e11c9..84a47bc1 100644 --- a/src/datasets/domain/useCases/AddDatasetType.ts +++ b/src/datasets/domain/useCases/AddDatasetType.ts @@ -1,4 +1,5 @@ import { UseCase } from '../../../core/domain/useCases/UseCase' +import { DatasetTypeDTO } from '../dtos/DatasetTypeDTO' import { DatasetType } from '../models/DatasetType' import { IDatasetsRepository } from '../repositories/IDatasetsRepository' @@ -12,7 +13,7 @@ export class AddDatasetType implements UseCase { /** * Add a dataset type that can be selected when creating a dataset. */ - async execute(datasetType: DatasetType): Promise { + async execute(datasetType: DatasetTypeDTO): Promise { return await this.datasetsRepository.addDatasetType(datasetType) } } diff --git a/src/datasets/index.ts b/src/datasets/index.ts index 6b93a7cd..1bd1de0e 100644 --- a/src/datasets/index.ts +++ b/src/datasets/index.ts @@ -145,3 +145,4 @@ export { } from './domain/models/DatasetVersionSummaryInfo' export { DatasetLinkedCollection } from './domain/models/DatasetLinkedCollection' export { DatasetType } from './domain/models/DatasetType' +export { DatasetTypeDTO } from './domain/dtos/DatasetTypeDTO' diff --git a/src/datasets/infra/repositories/DatasetsRepository.ts b/src/datasets/infra/repositories/DatasetsRepository.ts index 41407964..f75bf1c0 100644 --- a/src/datasets/infra/repositories/DatasetsRepository.ts +++ b/src/datasets/infra/repositories/DatasetsRepository.ts @@ -29,6 +29,7 @@ import { DatasetTemplate } from '../../domain/models/DatasetTemplate' import { DatasetTemplatePayload } from './transformers/DatasetTemplatePayload' import { transformDatasetTemplatePayloadToDatasetTemplate } from './transformers/datasetTemplateTransformers' import { DatasetType } from '../../domain/models/DatasetType' +import { DatasetTypeDTO } from '../../domain/dtos/DatasetTypeDTO' export interface GetAllDatasetPreviewsQueryParams { per_page?: number @@ -416,7 +417,7 @@ export class DatasetsRepository extends ApiRepository implements IDatasetsReposi }) } - public async addDatasetType(datasetType: DatasetType): Promise { + public async addDatasetType(datasetType: DatasetTypeDTO): Promise { return this.doPost( this.buildApiEndpoint(this.datasetsResourceName, 'datasetTypes'), datasetType