49 lines
1.2 KiB
Java
49 lines
1.2 KiB
Java
package mops.gruppen2.domain.event;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Value;
|
|
import lombok.extern.log4j.Log4j2;
|
|
import mops.gruppen2.domain.exception.BadArgumentException;
|
|
import mops.gruppen2.domain.exception.NoAccessException;
|
|
import mops.gruppen2.domain.model.group.Group;
|
|
import mops.gruppen2.domain.model.group.wrapper.Limit;
|
|
import mops.gruppen2.infrastructure.GroupCache;
|
|
|
|
import javax.validation.Valid;
|
|
import java.util.UUID;
|
|
|
|
@Log4j2
|
|
@Value
|
|
@AllArgsConstructor
|
|
public class SetLimitEvent extends Event {
|
|
|
|
@JsonProperty("limit")
|
|
Limit limit;
|
|
|
|
public SetLimitEvent(UUID groupId, String exec, @Valid Limit limit) {
|
|
super(groupId, exec, null);
|
|
this.limit = limit;
|
|
}
|
|
|
|
@Override
|
|
protected void updateCache(GroupCache cache, Group group) {}
|
|
|
|
@Override
|
|
protected void applyEvent(Group group) throws BadArgumentException, NoAccessException {
|
|
group.setLimit(exec, limit);
|
|
|
|
log.trace("\t\t\t\t\tNeues UserLimit: {}", group.getLimit());
|
|
}
|
|
|
|
@Override
|
|
public String format() {
|
|
return "Benutzerlimit gesetzt: " + limit + ".";
|
|
}
|
|
|
|
@Override
|
|
public String type() {
|
|
return EventType.SETLIMIT.toString();
|
|
}
|
|
}
|