diff --git a/src/templates/domain/dtos/UpdateTemplateLicenseTermsDTO.ts b/src/templates/domain/dtos/UpdateTemplateLicenseTermsDTO.ts new file mode 100644 index 00000000..b476a07d --- /dev/null +++ b/src/templates/domain/dtos/UpdateTemplateLicenseTermsDTO.ts @@ -0,0 +1,6 @@ +import { CustomTerms } from '../../../datasets/domain/models/Dataset' + +export interface UpdateTemplateLicenseTermsDTO { + name?: string + customTerms?: CustomTerms +} diff --git a/src/templates/domain/dtos/UpdateTemplateMetadataDTO.ts b/src/templates/domain/dtos/UpdateTemplateMetadataDTO.ts new file mode 100644 index 00000000..3504fcea --- /dev/null +++ b/src/templates/domain/dtos/UpdateTemplateMetadataDTO.ts @@ -0,0 +1,7 @@ +import { TemplateFieldDTO, TemplateInstructionDTO } from './CreateTemplateDTO' + +export interface UpdateTemplateMetadataDTO { + name?: string + fields?: TemplateFieldDTO[] + instructions?: TemplateInstructionDTO[] +} diff --git a/src/templates/domain/repositories/ITemplatesRepository.ts b/src/templates/domain/repositories/ITemplatesRepository.ts index 3482d340..135aec3c 100644 --- a/src/templates/domain/repositories/ITemplatesRepository.ts +++ b/src/templates/domain/repositories/ITemplatesRepository.ts @@ -1,8 +1,21 @@ import { CreateTemplateDTO } from '../dtos/CreateTemplateDTO' +import { UpdateTemplateLicenseTermsDTO } from '../dtos/UpdateTemplateLicenseTermsDTO' +import { UpdateTemplateMetadataDTO } from '../dtos/UpdateTemplateMetadataDTO' import { Template } from '../models/Template' +import { TermsOfAccess } from '../../../datasets/domain/models/Dataset' export interface ITemplatesRepository { createTemplate(collectionIdOrAlias: number | string, template: CreateTemplateDTO): Promise + updateTemplateMetadata( + templateId: number, + payload: UpdateTemplateMetadataDTO, + replace?: boolean + ): Promise + updateTemplateLicenseTerms( + templateId: number, + payload: UpdateTemplateLicenseTermsDTO + ): Promise + updateTemplateTermsOfAccess(templateId: number, termsOfAccess: TermsOfAccess): Promise getTemplate(templateId: number): Promise