Skip to content

Commit a957946

Browse files
committed
fix: update datasetID to allow persistent id
1 parent 3f01e90 commit a957946

File tree

4 files changed

+16
-5
lines changed

4 files changed

+16
-5
lines changed

src/datasets/domain/repositories/IDatasetsRepository.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export interface IDatasetsRepository {
6868
unlinkDataset(datasetId: number, collectionAlias: string): Promise<void>
6969
getDatasetLinkedCollections(datasetId: number | string): Promise<DatasetLinkedCollection[]>
7070
getDatasetCitationInOtherFormats(
71-
datasetId: number,
71+
datasetId: number | string,
7272
datasetVersionId: string,
7373
format: CitationFormat,
7474
includeDeaccessioned?: boolean

src/datasets/domain/useCases/GetDatasetCitationInOtherFormats.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ export class GetDatasetCitationInOtherFormats implements UseCase<FormattedCitati
1414
/**
1515
* Returns the dataset citation in the specified format.
1616
*
17-
* @param {number} datasetId - The dataset identifier.
17+
* @param {number | string} datasetId - The dataset identifier.
1818
* @param {string | DatasetNotNumberedVersion} [datasetVersionId=DatasetNotNumberedVersion.LATEST] - The dataset version identifier, which can be a version-specific string (e.g., '1.0') or a DatasetNotNumberedVersion enum value. Defaults to LATEST.
1919
* @param {CitationFormat} format - The citation format to return. One of: 'EndNote', 'RIS', 'BibTeX', 'CSLJson', 'Internal'.
2020
* @param {boolean} [includeDeaccessioned=false] - Whether to include deaccessioned versions in the search. Defaults to false.
2121
* @returns {Promise<FormattedCitation>} The citation content, format, and content type.
2222
*/
2323
async execute(
24-
datasetId: number,
24+
datasetId: number | string,
2525
datasetVersionId: string | DatasetNotNumberedVersion = DatasetNotNumberedVersion.LATEST,
2626
format: CitationFormat,
2727
includeDeaccessioned = false

src/datasets/infra/repositories/DatasetsRepository.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export class DatasetsRepository extends ApiRepository implements IDatasetsReposi
7878
}
7979

8080
public async getDatasetCitation(
81-
datasetId: number,
81+
datasetId: number | string,
8282
datasetVersionId: string,
8383
includeDeaccessioned: boolean
8484
): Promise<string> {
@@ -98,7 +98,7 @@ export class DatasetsRepository extends ApiRepository implements IDatasetsReposi
9898
}
9999

100100
public async getDatasetCitationInOtherFormats(
101-
datasetId: number,
101+
datasetId: number | string,
102102
datasetVersionId: string | 'LATEST' = 'LATEST',
103103
format: CitationFormat,
104104
includeDeaccessioned = false

test/integration/datasets/DatasetsRepository.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,17 @@ describe('DatasetsRepository', () => {
515515
expect(citation.contentType).toMatch(/text\/plain/)
516516
})
517517

518+
test('should return citation in BibTeX format using persistent id', async () => {
519+
const citation = await sut.getDatasetCitationInOtherFormats(
520+
testDatasetIds.persistentId,
521+
DatasetNotNumberedVersion.LATEST,
522+
CitationFormat.BibTeX
523+
)
524+
525+
expect(typeof citation.content).toBe('string')
526+
expect(citation.contentType).toMatch(/text\/plain/)
527+
})
528+
518529
test('should return citation in RIS format', async () => {
519530
const citation = await sut.getDatasetCitationInOtherFormats(
520531
testDatasetIds.numericId,

0 commit comments

Comments
 (0)