From a688235100dafb452a83514c33d74a5d319a0d52 Mon Sep 17 00:00:00 2001 From: killerber4t Date: Thu, 12 Mar 2020 14:59:34 +0100 Subject: [PATCH] fix queries and user_id type --- .../gruppen2/controller/Gruppen2Controller.java | 13 +++++++++++-- .../mops/gruppen2/repository/EventRepository.java | 2 +- .../java/mops/gruppen2/service/UserService.java | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index 723395d..858be87 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -1,7 +1,9 @@ package mops.gruppen2.controller; import mops.gruppen2.config.Gruppen2Config; +import mops.gruppen2.domain.Exceptions.EventException; import mops.gruppen2.domain.GroupType; +import mops.gruppen2.domain.User; import mops.gruppen2.domain.Visibility; import mops.gruppen2.domain.event.AddUserEvent; import mops.gruppen2.domain.event.CreateGroupEvent; @@ -9,6 +11,7 @@ import mops.gruppen2.security.Account; import mops.gruppen2.service.EventService; import mops.gruppen2.service.GroupService; import mops.gruppen2.service.KeyCloakService; +import mops.gruppen2.service.UserService; import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -27,11 +30,13 @@ public class Gruppen2Controller { private final KeyCloakService keyCloakService; private final EventService eventService; private final GroupService groupService; + private final UserService userService; - public Gruppen2Controller(KeyCloakService keyCloakService, EventService eventService, GroupService groupService) { + public Gruppen2Controller(KeyCloakService keyCloakService, EventService eventService, GroupService groupService, UserService userService) { this.keyCloakService = keyCloakService; this.eventService = eventService; this.groupService = groupService; + this.userService = userService; } /** @@ -43,8 +48,12 @@ public class Gruppen2Controller { */ @RolesAllowed({"ROLE_orga", "ROLE_studentin", "ROLE_actuator)"}) @GetMapping("") - public String index(KeycloakAuthenticationToken token, Model model) { + public String index(KeycloakAuthenticationToken token, Model model) throws EventException { + Account account = keyCloakService.createAccountFromPrincipal(token); + User user = new User(account.getName(), account.getGivenname(), account.getFamilyname(), account.getEmail()); + model.addAttribute("account", keyCloakService.createAccountFromPrincipal(token)); + model.addAttribute("gruppen", userService.getUserGroups(user.getUser_id())); return "index"; } diff --git a/src/main/java/mops/gruppen2/repository/EventRepository.java b/src/main/java/mops/gruppen2/repository/EventRepository.java index a87de14..9811270 100644 --- a/src/main/java/mops/gruppen2/repository/EventRepository.java +++ b/src/main/java/mops/gruppen2/repository/EventRepository.java @@ -12,7 +12,7 @@ import java.util.List; @Repository public interface EventRepository extends CrudRepository { @Query("select distinct group_id from event where user_id =:id") - List findGroup_idsWhereUser_id(@Param("id") Long user_id); + List findGroup_idsWhereUser_id(@Param("id") String user_id); @Query("select * from event where group_id =:id") List findEventDTOByGroup_id(@Param("id") Long group_id); diff --git a/src/main/java/mops/gruppen2/service/UserService.java b/src/main/java/mops/gruppen2/service/UserService.java index a767e7a..afa2c95 100644 --- a/src/main/java/mops/gruppen2/service/UserService.java +++ b/src/main/java/mops/gruppen2/service/UserService.java @@ -19,7 +19,7 @@ public class UserService { this.groupService = groupService; } - public List getUserGroups(Long user_id) throws EventException { + public List getUserGroups(String user_id) throws EventException { List group_ids = eventRepository.findGroup_idsWhereUser_id(user_id); List events = groupService.getGroupEvents(group_ids); return groupService.projectEventList(events);