From 2489e4f368536bb78f209d940e7d4d9155067742 Mon Sep 17 00:00:00 2001 From: Bill Smith Date: Tue, 22 Jan 2019 15:22:52 -0700 Subject: [PATCH] [SHIBUI-1063] Added query/test/endpoint to get disabled EntityDescriptors not owned by admin. --- .../admin/ui/controller/EntityDescriptorController.java | 7 +++++++ .../admin/ui/repository/EntityDescriptorRepository.java | 7 +++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java index c3e76983e..c960e6ffd 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/controller/EntityDescriptorController.java @@ -144,6 +144,13 @@ public ResponseEntity getOneXml(@PathVariable String resourceId) throws Marsh return ResponseEntity.ok(xml); } + @GetMapping(value = "/EntityDescriptor/disabledNonAdmin") + public Iterable getDisabledAndNotOwnedByAdmin() { + return entityDescriptorRepository.findAllDisabledAndNotOwnedByAdmin() + .map(ed -> entityDescriptorService.createRepresentationFromDescriptor(ed)) + .collect(Collectors.toList()); + } + private static URI getResourceUriFor(EntityDescriptor ed) { return ServletUriComponentsBuilder .fromCurrentServletMapping().path("/api/EntityDescriptor") diff --git a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/EntityDescriptorRepository.java b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/EntityDescriptorRepository.java index be729d489..321735b96 100644 --- a/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/EntityDescriptorRepository.java +++ b/backend/src/main/java/edu/internet2/tier/shibboleth/admin/ui/repository/EntityDescriptorRepository.java @@ -1,8 +1,8 @@ package edu.internet2.tier.shibboleth.admin.ui.repository; import edu.internet2.tier.shibboleth.admin.ui.domain.EntityDescriptor; +import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; -import org.springframework.data.repository.CrudRepository; import java.util.stream.Stream; @@ -10,7 +10,7 @@ /** * Repository to manage {@link EntityDescriptor} instances. */ -public interface EntityDescriptorRepository extends CrudRepository { +public interface EntityDescriptorRepository extends JpaRepository { EntityDescriptor findByEntityID(String entityId); @@ -21,4 +21,7 @@ public interface EntityDescriptorRepository extends CrudRepository findAllByCustomQueryAndStream(); + @Query("select e from EntityDescriptor e, User u join u.roles r " + + "where e.createdBy = u.username and e.serviceEnabled = false and r.name in ('ROLE_USER', 'ROLE_NONE')") + Stream findAllDisabledAndNotOwnedByAdmin(); }