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