diff --git a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java index 8ca06b6..89a81d2 100644 --- a/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java +++ b/src/main/java/mops/gruppen2/controller/Gruppen2Controller.java @@ -81,6 +81,7 @@ public class Gruppen2Controller { return "search"; } + @PostMapping("/createGroup") public String pCreateGroup(KeycloakAuthenticationToken token, @RequestParam(value = "title") String title, diff --git a/src/main/java/mops/gruppen2/domain/Group.java b/src/main/java/mops/gruppen2/domain/Group.java index b7e95eb..a235010 100644 --- a/src/main/java/mops/gruppen2/domain/Group.java +++ b/src/main/java/mops/gruppen2/domain/Group.java @@ -33,26 +33,6 @@ public class Group { this.roles = new HashMap<>(); } - private void applyEvent(UpdateRoleEvent event) throws UserNotFoundException { - User user; - - Optional userOptional = members.stream() - .filter(u -> u.getUser_id().equals(event.getUser_id())) - .findFirst(); - - if (userOptional.isPresent()) { - user = userOptional.get(); - } else { - throw new UserNotFoundException("Nutzer wurde nicht gefunden!"); - } - - if (roles.containsKey(user) && event.getNewRole() == Role.MEMBER) { - roles.remove(user); - } else { - roles.put(user.getUser_id(), event.getNewRole()); - } - } - private void applyEvent(AddUserEvent event) throws UserAlreadyExistsException { User user = new User(event.getUser_id(), event.getGivenname(), event.getFamilyname(), event.getEmail()); diff --git a/src/main/java/mops/gruppen2/domain/event/UpdateRoleEvent.java b/src/main/java/mops/gruppen2/domain/event/UpdateRoleEvent.java index 7d5f95c..defa1d3 100644 --- a/src/main/java/mops/gruppen2/domain/event/UpdateRoleEvent.java +++ b/src/main/java/mops/gruppen2/domain/event/UpdateRoleEvent.java @@ -1,7 +1,12 @@ package mops.gruppen2.domain.event; import lombok.*; +import mops.gruppen2.domain.Exceptions.UserNotFoundException; +import mops.gruppen2.domain.Group; import mops.gruppen2.domain.Role; +import mops.gruppen2.domain.User; + +import java.util.Optional; /** * Aktualisiert die Gruppenrolle eines Teilnehmers. @@ -23,4 +28,24 @@ public class UpdateRoleEvent extends Event { this.newRole = newRole; } + private void apply(Group group) throws UserNotFoundException { + User user; + + Optional userOptional = group.getMembers().stream() + .filter(u -> u.getUser_id().equals(user_id)) + .findFirst(); + + if (userOptional.isPresent()) { + user = userOptional.get(); + } else { + throw new UserNotFoundException("Nutzer wurde nicht gefunden!"); + } + + if (group.getRoles().containsKey(user) && newRole == Role.MEMBER) { + group.getRoles().remove(user); + } else { + group.getRoles().put(user.getUser_id(), newRole); + } + } + }