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); + }