From 95097beaae3682b7d7d5e826670fa96e7a5880ff Mon Sep 17 00:00:00 2001 From: argirok Date: Thu, 21 Mar 2024 09:46:11 +0200 Subject: [PATCH] [develop | DONE | FIXED] linking update parsing of the datacite API --- .../service/searchDatacite.service.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/claims/claim-utils/service/searchDatacite.service.ts b/claims/claim-utils/service/searchDatacite.service.ts index 4361462f..a6d9cc8b 100644 --- a/claims/claim-utils/service/searchDatacite.service.ts +++ b/claims/claim-utils/service/searchDatacite.service.ts @@ -58,22 +58,20 @@ export class SearchDataciteService { entity.result.journal = null; entity.result.DOI = item.attributes.doi; entity.id = item.attributes.doi; - entity.title = item.attributes.title; + entity.title = Array.isArray(item.attributes.titles) && item.attributes.titles[0].title?item.attributes.titles[0].title:null; entity.result.url = properties.doiURL + item.attributes.doi; entity.result.source = 'datacite'; entity.type = 'dataset'; - entity.result.date = item.attributes.published; + entity.result.date = item.attributes.publicationYear; entity.result.accessRights = "OPEN"; - entity.result.publisher = item.attributes['container-title']; + entity.result.publisher = item.attributes['publisher']; entity.result.journal = null; entity.result.record = item; - if (item.attributes.author) { + if (item.attributes.creators) { entity.result.authors = []; - for (let j = 0; j < item.attributes.author.length; j++) { - const author = item.attributes.author[j]; - if(author.family || author.literal) { - entity.result.authors.push((author.family) ? author.family + (author.given ? ', ' + author.given : '') : author.literal); - } + for (let j = 0; j < item.attributes.creators.length; j++) { + const author = item.attributes.creators[j].name; + entity.result.authors.push(author); } } results.push(entity);