diff --git a/TODO b/TODO index 84f6b2a..98d109a 100644 --- a/TODO +++ b/TODO @@ -11,4 +11,28 @@ db update: round.is_finals_round koppeltabel eventgroup_teams -tournament.active \ No newline at end of file +tournament.active + +set search_path to swiss; + +ALTER TABLE match + ADD counter_id bigint; + +; + +ALTER TABLE round + ADD is_finals_round boolean; + +ALTER TABLE round + ADD is_final_round boolean DEFAULT (false); + +; + +ALTER TABLE tournament_player + ADD counting boolean; + +ALTER TABLE tournament_player + ADD counts bigint; + +UPDATE tournament_player SET counting = false; +UPDATE tournament_player SET counts = 0; \ No newline at end of file diff --git a/src/main/java/nl/connectedit/swiss/controller/TournamentController.java b/src/main/java/nl/connectedit/swiss/controller/TournamentController.java index a46d10e..ac76dd6 100755 --- a/src/main/java/nl/connectedit/swiss/controller/TournamentController.java +++ b/src/main/java/nl/connectedit/swiss/controller/TournamentController.java @@ -195,4 +195,11 @@ public class TournamentController { return ResponseEntity.noContent().build(); } + + @PostMapping("/tournaments/{tournamentId}/players/{playerId}/substitute/{substituteId}") + public ResponseEntity substitutePlayer(@PathVariable Long tournamentId, @PathVariable Long playerId, @PathVariable Long substituteId) { + var tournament = tournamentService.findTournamentById(tournamentId); + + return ResponseEntity.ok(tournamentMapper.toDto(tournamentPlayService.substitutePlayer(tournament, playerId, substituteId))); + } } diff --git a/src/main/java/nl/connectedit/swiss/service/TournamentPlayService.java b/src/main/java/nl/connectedit/swiss/service/TournamentPlayService.java index f80b4fd..d9880c9 100644 --- a/src/main/java/nl/connectedit/swiss/service/TournamentPlayService.java +++ b/src/main/java/nl/connectedit/swiss/service/TournamentPlayService.java @@ -183,6 +183,10 @@ public class TournamentPlayService { } } + public Tournament substitutePlayer(Tournament tournament, Long playerId, Long substituteId) { + return tournament; + } + private static class ConflictInDrawException extends RuntimeException {} private List tryMatches(List remainingTeams, Group group) {