1
0
Fork 0
mirror of https://codeberg.org/beerbrawl/beerbrawl.git synced 2024-09-23 09:40:52 +02:00

feat(#29): backend: add new TeamMatchDrinksAlreadyPickedUpException exception

Signed-off-by: Christoph Heiss <e11907069@student.tuwien.ac.at>
This commit is contained in:
Christoph Heiss 2024-05-30 13:23:53 +02:00 committed by Moritz Kepplinger
parent 4a6f5508ce
commit 9aa92f66a0
2 changed files with 26 additions and 6 deletions

View file

@ -5,8 +5,8 @@ import at.ac.tuwien.sepr.groupphase.backend.exception.BadTournamentSignupTokenEx
import at.ac.tuwien.sepr.groupphase.backend.exception.NotFoundException;
import at.ac.tuwien.sepr.groupphase.backend.exception.PreconditionFailedException;
import at.ac.tuwien.sepr.groupphase.backend.exception.TeamMatchDrinksAlreadyPickedUpException;
import at.ac.tuwien.sepr.groupphase.backend.exception.TournamentAlreadyStartedException;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.validation.ValidationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -36,11 +36,6 @@ import java.util.stream.Collectors;
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private final ObjectMapper objectMapper;
public GlobalExceptionHandler(ObjectMapper objectMapper) {
this.objectMapper = objectMapper;
}
/**
* Use the @ExceptionHandler annotation to write handler for custom exceptions.
@ -112,6 +107,20 @@ public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
request);
}
@ExceptionHandler({TeamMatchDrinksAlreadyPickedUpException.class})
protected ResponseEntity<Object> handleTeamMatchDrinksAlreadyPickedUp(RuntimeException ex, WebRequest request) {
LOGGER.debug(ex.getMessage());
final var properEx = (TeamMatchDrinksAlreadyPickedUpException) ex;
return handleExceptionInternal(
ex,
"Team %d has already picked up its drinks for match %d!"
.formatted(properEx.getTeamId(), properEx.getMatchId()),
new HttpHeaders(),
HttpStatus.CONFLICT,
request);
}
@ExceptionHandler({BadTournamentSignupTokenException.class})
protected ResponseEntity<Object> handleBadTournamentSignupTokenException(RuntimeException ex, WebRequest request) {
LOGGER.debug(ex.getMessage());

View file

@ -0,0 +1,11 @@
package at.ac.tuwien.sepr.groupphase.backend.exception;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public class TeamMatchDrinksAlreadyPickedUpException extends RuntimeException {
private final long matchId;
private final long teamId;
}