new_model_for_communities #15

Merged
michele.artini merged 81 commits from new_model_for_communities into master 2023-10-24 08:12:26 +02:00
3 changed files with 27 additions and 0 deletions
Showing only changes of commit d5fd29c3d0 - Show all commits

View File

@ -221,6 +221,22 @@ public class CommunityApiController extends AbstractDnetController {
communityService.removeCommunityProjects(id, projectIdList); 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<String> getCommunityFunders(@PathVariable final String id)
throws CommunityException {
return communityService.getCommunityFunders(id);
}
@RequestMapping(value = "/community/{id}/contentproviders", produces = { @RequestMapping(value = "/community/{id}/contentproviders", produces = {
"application/json" "application/json"
}, method = RequestMethod.GET) }, method = RequestMethod.GET)

View File

@ -612,4 +612,9 @@ public class CommunityService {
} }
} }
@Transactional
public List<String> getCommunityFunders(final String id) {
return dbProjectRepository.findFundersByCommunity(id);
}
} }

View File

@ -1,10 +1,13 @@
package eu.dnetlib.openaire.community.repository; package eu.dnetlib.openaire.community.repository;
import java.util.List;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; 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.DbProject;
import eu.dnetlib.openaire.community.model.DbProjectPK; import eu.dnetlib.openaire.community.model.DbProjectPK;
@ -16,4 +19,7 @@ public interface DbProjectRepository extends JpaRepository<DbProject, DbProjectP
void deleteByCommunity(String id); void deleteByCommunity(String id);
@Query(value = "select distinct project_funder from community_projects where community = ?1 order by project_funder", nativeQuery = true)
List<String> findFundersByCommunity(String id);
} }