diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f3a2c92..3e39409b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,8 @@ This changelog follows the principles of [Keep a Changelog](https://keepachangel - New Use Case: [Create a Template](./docs/useCases.md#create-a-template) under Templates. - New Use Case: [Get a Template](./docs/useCases.md#get-a-template) under Templates. - New Use Case: [Delete a Template](./docs/useCases.md#delete-a-template) under Templates. +- Templates: Added `setTemplateAsDefault` use case and repository method to support Dataverse endpoint `POST /dataverses/{id}/template/default/{templateId}`. +- Templates: Added `unsetTemplateAsDefault` use case and repository method to support Dataverse endpoint `DELETE /dataverses/{id}/template/default`. - New Use Case: [Update Terms of Access](./docs/useCases.md#update-terms-of-access). ### Changed diff --git a/docs/useCases.md b/docs/useCases.md index f77a40e1..9b0396e9 100644 --- a/docs/useCases.md +++ b/docs/useCases.md @@ -32,6 +32,8 @@ The different use cases currently available in the package are classified below, - [Templates write use cases](#templates-write-use-cases) - [Create a Template](#create-a-template) - [Delete a Template](#delete-a-template) + - [Set Template As Default](#set-template-as-default) + - [Unset Template As Default](#unset-template-as-default) - [Datasets](#Datasets) - [Datasets read use cases](#datasets-read-use-cases) - [Get a Dataset](#get-a-dataset) @@ -669,6 +671,43 @@ await deleteTemplate.execute(templateId) _See [use case](../src/templates/domain/useCases/DeleteTemplate.ts)_ definition. +#### Set Template As Default + +Sets the default template for a given Dataverse collection. + +You must have edit permissions on the collection in order to use this endpoint. + +##### Example call: + +```typescript +import { setTemplateAsDefault } from '@iqss/dataverse-client-javascript' + +const collectionIdOrAlias = ':root' +const templateId = 12345 + +await setTemplateAsDefault.execute(templateId, collectionIdOrAlias) +``` + +_See [use case](../src/templates/domain/useCases/SetTemplateAsDefault.ts)_ definition. + +#### Unset Template As Default + +Removes the default template from a given Dataverse collection. + +You must have edit permissions on the collection in order to use this endpoint. + +##### Example call: + +```typescript +import { unsetTemplateAsDefault } from '@iqss/dataverse-client-javascript' + +const collectionIdOrAlias = ':root' + +await unsetTemplateAsDefault.execute(collectionIdOrAlias) +``` + +_See [use case](../src/templates/domain/useCases/UnsetTemplateAsDefault.ts)_ definition. + ## Datasets ### Datasets Read Use Cases diff --git a/src/templates/domain/repositories/ITemplatesRepository.ts b/src/templates/domain/repositories/ITemplatesRepository.ts index 3482d340..7b043f0c 100644 --- a/src/templates/domain/repositories/ITemplatesRepository.ts +++ b/src/templates/domain/repositories/ITemplatesRepository.ts @@ -6,4 +6,6 @@ export interface ITemplatesRepository { getTemplate(templateId: number): Promise