From d5fd29c3d06ba4d5177902f53e532e7ce1118dff Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Mon, 2 Oct 2023 08:38:19 +0200 Subject: [PATCH] new apis --- .../community/CommunityApiController.java | 16 ++++++++++++++++ .../openaire/community/CommunityService.java | 5 +++++ .../repository/DbProjectRepository.java | 6 ++++++ 3 files changed, 27 insertions(+) diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java index 170c292f..ac36c1fa 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityApiController.java @@ -221,6 +221,22 @@ public class CommunityApiController extends AbstractDnetController { communityService.removeCommunityProjects(id, projectIdList); } + @RequestMapping(value = "/community/{id}/funders", produces = { + "application/json" + }, method = RequestMethod.GET) + @Operation(summary = "get the funders of the projects of a community", description = "get the funders of the projects of a community", tags = { + C_PJ, R + }) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "not found"), + @ApiResponse(responseCode = "500", description = "unexpected error") + }) + public List getCommunityFunders(@PathVariable final String id) + throws CommunityException { + return communityService.getCommunityFunders(id); + } + @RequestMapping(value = "/community/{id}/contentproviders", produces = { "application/json" }, method = RequestMethod.GET) diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityService.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityService.java index 9683ec36..5e44721c 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityService.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/CommunityService.java @@ -612,4 +612,9 @@ public class CommunityService { } } + @Transactional + public List getCommunityFunders(final String id) { + return dbProjectRepository.findFundersByCommunity(id); + } + } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/repository/DbProjectRepository.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/repository/DbProjectRepository.java index da18061d..f0e19942 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/repository/DbProjectRepository.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/repository/DbProjectRepository.java @@ -1,10 +1,13 @@ package eu.dnetlib.openaire.community.repository; +import java.util.List; + import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; import eu.dnetlib.openaire.community.model.DbProject; import eu.dnetlib.openaire.community.model.DbProjectPK; @@ -16,4 +19,7 @@ public interface DbProjectRepository extends JpaRepository findFundersByCommunity(String id); + }