rsanchez
2017-04-17 8a45ae67ed7371a9d28cbba6de188af3270562b6
securis/src/main/java/net/curisit/securis/services/ApplicationResource.java
....@@ -72,12 +72,23 @@
7272 @Path("/")
7373 @Produces({ MediaType.APPLICATION_JSON })
7474 @Securable
75
- public Response index() {
75
+ public Response index(@Context BasicSecurityContext bsc) {
7676 LOG.info("Getting applications list ");
7777
7878 // EntityManager em = emProvider.get();
7979 em.clear();
80
- TypedQuery<Application> q = em.createNamedQuery("list-applications", Application.class);
80
+
81
+ TypedQuery<Application> q;
82
+ if (bsc.isUserInRole(BasicSecurityContext.ROL_ADMIN)) {
83
+ q = em.createNamedQuery("list-applications", Application.class);
84
+ } else {
85
+ if (bsc.getApplicationsIds() == null || bsc.getApplicationsIds().isEmpty()) {
86
+ return Response.ok().build();
87
+ }
88
+ q = em.createNamedQuery("list-applications-by_ids", Application.class);
89
+
90
+ q.setParameter("list_ids", bsc.getApplicationsIds());
91
+ }
8192 List<Application> list = q.getResultList();
8293
8394 return Response.ok(list).build();