From 47f1bffb241933d0910185f58c5c331efe65ee94 Mon Sep 17 00:00:00 2001 From: Bartha Maxime <231026@umons.ac.be> Date: Wed, 17 Apr 2024 23:00:00 +0200 Subject: [PATCH] backend fixed Patch Research --- .../ResearcherController.java | 3 ++- .../ResearchesService.java | 21 ++++++++----------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/backend/src/main/java/ovh/herisson/Clyde/EndPoints/ScientificPublications/ResearcherController.java b/backend/src/main/java/ovh/herisson/Clyde/EndPoints/ScientificPublications/ResearcherController.java index a0f3eeb..8c3f5cf 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/EndPoints/ScientificPublications/ResearcherController.java +++ b/backend/src/main/java/ovh/herisson/Clyde/EndPoints/ScientificPublications/ResearcherController.java @@ -80,9 +80,10 @@ public class ResearcherController { Researcher researcher = researchesServ.getResearcherById(id); if (authServ.isNotIn(new Role[]{Role.Secretary,Role.Admin}, token) - || researcher == researchesServ.getResearcherByUser(authServ.getUserFromToken(token))) + && researcher.getId() != researchesServ.getResearcherByUser(authServ.getUserFromToken(token)).getId()) return new UnauthorizedResponse<>(null); + if (researcher == null) return new ResponseEntity<>(HttpStatus.BAD_REQUEST); researchesServ.modifyResearcherData(researcher,updates); diff --git a/backend/src/main/java/ovh/herisson/Clyde/Services/ScientificPublications/ResearchesService.java b/backend/src/main/java/ovh/herisson/Clyde/Services/ScientificPublications/ResearchesService.java index a9c337d..7b822f7 100644 --- a/backend/src/main/java/ovh/herisson/Clyde/Services/ScientificPublications/ResearchesService.java +++ b/backend/src/main/java/ovh/herisson/Clyde/Services/ScientificPublications/ResearchesService.java @@ -83,18 +83,9 @@ public class ResearchesService { case "title": research.setTitle((String) entry.getValue()); break; - case "date": - research.setReleaseDate((Date) entry.getValue()); - break; case "paperType": research.setPaperType((PaperType) entry.getValue()); break; - case "PdfLocation": - research.setPdfLocation((String) entry.getValue()); - break; - case "bibtexLocation": - research.setBibTexLocation((String) entry.getValue()); - break; case "language": research.setLanguage((String) entry.getValue()); break; @@ -104,6 +95,9 @@ public class ResearchesService { case "summary": research.setSummary((String) entry.getValue()); break; + case "access": + research.setAccess(Access.valueOf((String) entry.getValue())); + break; } } articleRepo.save(research); @@ -175,13 +169,16 @@ public class ResearchesService { for (Map.Entry entry : updates.entrySet()){ switch (entry.getKey()){ case "orcidId": - researcher.setOrcidId((String) entry.getValue()); + if (entry.getValue() != null) + researcher.setOrcidId((String) entry.getValue()); break; case "domain": - researcher.setDomain((String) entry.getValue()); + if (entry.getValue() != null) + researcher.setDomain((String) entry.getValue()); break; case "site": - researcher.setSite((String) entry.getValue()); + if (entry.getValue() != null) + researcher.setSite((String) entry.getValue()); break; } }