1
Files
lecture-professional-softwa…/src/main/java/mops/gruppen2/domain/event/UpdateRoleEvent.java
2020-03-29 15:47:25 +02:00

36 lines
860 B
Java

package mops.gruppen2.domain.event;
import lombok.Getter;
import lombok.NoArgsConstructor;
import mops.gruppen2.domain.Group;
import mops.gruppen2.domain.Role;
import mops.gruppen2.domain.exception.UserNotFoundException;
import java.util.UUID;
/**
* Aktualisiert die Gruppenrolle eines Teilnehmers.
*/
@Getter
@NoArgsConstructor // For Jackson
public class UpdateRoleEvent extends Event {
private Role newRole;
public UpdateRoleEvent(UUID groupId, String userId, Role newRole) {
super(groupId, userId);
this.newRole = newRole;
}
@Override
protected void applyEvent(Group group) throws UserNotFoundException {
if (group.getRoles().containsKey(userId)) {
group.getRoles().put(userId, newRole);
return;
}
throw new UserNotFoundException(getClass().toString());
}
}