Registreer TournamentPlayer gelijk bij inschrijven
All checks were successful
Gitea/swiss-backend/pipeline/head This commit looks good

This commit is contained in:
2025-09-01 23:00:10 +02:00
parent 06b112305b
commit 2cc188540b
5 changed files with 48 additions and 12 deletions

7
TODO
View File

@@ -5,3 +5,10 @@ https://bootify.io/spring-security/rest-api-spring-security-with-jwt.html
https://access.crunchydata.com/documentation/postgres-operator/latest/tutorials/cluster-management/update-cluster https://access.crunchydata.com/documentation/postgres-operator/latest/tutorials/cluster-management/update-cluster
Token refresh Token refresh
db update:
round.is_finals_round
koppeltabel eventgroup_teams
tournament.active

View File

@@ -95,7 +95,7 @@ public class TestController {
var eventIdHE = tournament.getEvents().stream().filter(event -> event.getType().equals("HE")).findFirst().get().getId(); var eventIdHE = tournament.getEvents().stream().filter(event -> event.getType().equals("HE")).findFirst().get().getId();
var eventIdDE = tournament.getEvents().stream().filter(event -> event.getType().equals("DE")).findFirst().get().getId(); var eventIdDE = tournament.getEvents().stream().filter(event -> event.getType().equals("DE")).findFirst().get().getId();
for (var player : getPlayers()) { for (var player : getPlayers().subList(0, 31)) {
var tournamentRegistrationDto = new TournamentRegistrationDto(); var tournamentRegistrationDto = new TournamentRegistrationDto();
tournamentRegistrationDto.setId(tournament.getId()); tournamentRegistrationDto.setId(tournament.getId());
var eventRegistrationDto = new EventRegistrationDto(); var eventRegistrationDto = new EventRegistrationDto();
@@ -162,7 +162,7 @@ public class TestController {
private TournamentDto getTournament() { private TournamentDto getTournament() {
var tournamentDto = new TournamentDto(); var tournamentDto = new TournamentDto();
tournamentDto.setName("Testtoernooi"); tournamentDto.setName("Testtoernooi aangemaakt op " + LocalDate.now().format(DateTimeFormatter.ofPattern("dd-MM-yyyy")));
tournamentDto.setDate("14-12-2024"); tournamentDto.setDate("14-12-2024");
tournamentDto.setStatus("UPCOMING"); tournamentDto.setStatus("UPCOMING");
tournamentDto.setMaxEvents(2L); tournamentDto.setMaxEvents(2L);

View File

@@ -31,7 +31,7 @@ public class TournamentPlayer extends AbstractEntity {
private boolean counting; private boolean counting;
private Long counts; private Long counts = 0L;
public void incrementCounts() { public void incrementCounts() {
this.counts++; this.counts++;

View File

@@ -1,14 +1,11 @@
package nl.connectedit.swiss.service; package nl.connectedit.swiss.service;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import nl.connectedit.swiss.domain.entity.Player; import nl.connectedit.swiss.domain.entity.*;
import nl.connectedit.swiss.domain.entity.Registration;
import nl.connectedit.swiss.domain.entity.Tournament;
import nl.connectedit.swiss.dto.EventRegistrationDto; import nl.connectedit.swiss.dto.EventRegistrationDto;
import nl.connectedit.swiss.repository.RegistrationRepository;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.ArrayList;
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
@@ -23,6 +20,7 @@ public class RegistrationService {
if (!eventRegistration.isRegistered()) { // remove any existing registration if (!eventRegistration.isRegistered()) { // remove any existing registration
event.getRegistrations().removeIf(registration -> registration.getPlayer().equals(player)); event.getRegistrations().removeIf(registration -> registration.getPlayer().equals(player));
removeEventFromTournamentPlayer(tournament, player, event);
} else { } else {
var optionalExistingPlayerRegistration = event.getRegistrations().stream() var optionalExistingPlayerRegistration = event.getRegistrations().stream()
.filter(registration -> registration.getPlayer().equals(player)) .filter(registration -> registration.getPlayer().equals(player))
@@ -32,14 +30,15 @@ public class RegistrationService {
newRegistration.setTournament(tournament); newRegistration.setTournament(tournament);
newRegistration.setEvent(event); newRegistration.setEvent(event);
newRegistration.setPlayer(player); newRegistration.setPlayer(player);
if (eventRegistration.getPartner() != null){ if (eventRegistration.getPartner() != null) {
var partner = playerService.findPlayerById(eventRegistration.getPartner()); var partner = playerService.findPlayerById(eventRegistration.getPartner());
newRegistration.setPartner(partner); newRegistration.setPartner(partner);
} }
event.addRegistration(newRegistration); event.addRegistration(newRegistration);
addEventToTournamentPlayer(tournament, player, event);
} else { // change existing registration } else { // change existing registration
var existingPlayerRegistration = optionalExistingPlayerRegistration.get(); var existingPlayerRegistration = optionalExistingPlayerRegistration.get();
if (eventRegistration.getPartner() != null){ if (eventRegistration.getPartner() != null) {
var partner = playerService.findPlayerById(eventRegistration.getPartner()); var partner = playerService.findPlayerById(eventRegistration.getPartner());
existingPlayerRegistration.setPartner(partner); existingPlayerRegistration.setPartner(partner);
} else { } else {
@@ -50,4 +49,34 @@ public class RegistrationService {
tournamentService.saveTournament(tournament); tournamentService.saveTournament(tournament);
} }
private void removeEventFromTournamentPlayer(Tournament tournament, Player player, Event event) {
var tournamentPlayer = findOrAddTournamentPlayer(tournament, player);
tournamentPlayer.getEvents().removeIf(eventType -> eventType.equals(event.getType().name()));
}
private void addEventToTournamentPlayer(Tournament tournament, Player player, Event event) {
var tournamentPlayer = findOrAddTournamentPlayer(tournament, player);
tournamentPlayer.getEvents().add(event.getType().name());
}
private TournamentPlayer findOrAddTournamentPlayer(Tournament tournament, Player player) {
for (var tournamentPlayer : tournament.getTournamentPlayers()) {
if (tournamentPlayer.getPlayer().getId().equals(player.getId())) {
return tournamentPlayer;
}
}
return registerTournamentPlayer(tournament, player);
}
private TournamentPlayer registerTournamentPlayer(Tournament tournament, Player player) {
var tournamentPlayer = new TournamentPlayer();
tournamentPlayer.setTournament(tournament);
tournamentPlayer.setPlayer(player);
tournamentPlayer.setEvents(new ArrayList<>());
tournament.getTournamentPlayers().add(tournamentPlayer);
return tournamentPlayer;
}
} }

View File

@@ -31,7 +31,7 @@ public class TournamentDrawService {
} }
} }
registerTournamentPlayers(tournament); // registerTournamentPlayers(tournament);
tournament.setStatus(TournamentStatus.DRAWN); tournament.setStatus(TournamentStatus.DRAWN);
@@ -78,7 +78,7 @@ public class TournamentDrawService {
} }
} }
tournament.getTournamentPlayers().clear(); // tournament.getTournamentPlayers().clear();
tournament.setStatus(TournamentStatus.DIVIDED); tournament.setStatus(TournamentStatus.DIVIDED);