diff --git a/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApi.java b/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApi.java index 34f838b..851f977 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApi.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApi.java @@ -29,9 +29,9 @@ public interface BrokerApi { @RequestMapping(value = "/showEvents" , method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE) EventsPage showEvents(@RequestBody String params) throws BrokerException, JSONException; - @RequestMapping(value = "/getSubscriptionsOfUser/{userEmail}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) + @RequestMapping(value = "/getSimpleSubscriptionsOfUser/{userEmail}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody - Map> getSubscriptionsOfUser(String userEmail) throws BrokerException; + Map> getSimpleSubscriptionsOfUser(String userEmail) throws BrokerException; @RequestMapping(value = "/subscribe" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody @@ -54,4 +54,9 @@ public interface BrokerApi { ,produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody EventsPage getNotificationsBySubscriptionId(String subscriptionId,String page,String size) throws BrokerException; + + @RequestMapping(value = "/getSubscriptionsOfUser/{userEmail}" , method = RequestMethod.GET + ,produces = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + Map> getSubscriptionsOfUser(String userEmail) throws BrokerException; } diff --git a/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApiImpl.java b/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApiImpl.java index 6c01319..16764ec 100644 --- a/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApiImpl.java +++ b/src/main/java/eu/dnetlib/repo/manager/service/controllers/BrokerApiImpl.java @@ -254,7 +254,7 @@ public class BrokerApiImpl implements BrokerApi { } @Override - public Map> getSubscriptionsOfUser(@PathVariable("userEmail") String userEmail) throws BrokerException { + public Map> getSimpleSubscriptionsOfUser(@PathVariable("userEmail") String userEmail) throws BrokerException { final String service = "/subscriptions"; @@ -379,5 +379,24 @@ public class BrokerApiImpl implements BrokerApi { return resp.getBody(); } + @Override + public Map> getSubscriptionsOfUser(@PathVariable("userEmail") String userEmail) + throws BrokerException { + + Map> simpleSubs = getSimpleSubscriptionsOfUser(userEmail); + Map> subs = new HashMap<>(); + List subscriptions = null; + + for(String s:simpleSubs.keySet()){ + List simpleSubscriptionDescs = simpleSubs.get(s); + for(SimpleSubscriptionDesc simpleSubscriptionDesc : simpleSubscriptionDescs) { + subscriptions = new ArrayList<>(); + subscriptions.add(getSubscription(simpleSubscriptionDesc.getId())); + } + subs.put(s,subscriptions); + } + return subs; + } + }