diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java index 88d9e0b4c384908bd9539b2f657963908815bdb6..8d4e46a984ed0400128935fe6337b33b3e4635ca 100644 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java +++ b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Team.java @@ -11,10 +11,9 @@ import java.util.List; import java.util.UUID; @Getter -@Document("Team") @AllArgsConstructor public class Team { - @Id + private final UUID teamId; @Setter private String teamName; diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java index 203ff94e93266c5617faaae476cd8f6b2af0d6ed..2ec62f31181f03c8ec82912dc0e3ca47b94ad3ad 100644 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java +++ b/sth-backend/src/main/java/hdm/mi/sthbackend/model/Tournament.java @@ -23,7 +23,7 @@ public class Tournament implements ITournament{ private String tournamentName; @Setter private List<BracketRound> bracket; - private List<Team> teams; + private Map<UUID, Team> teams; private List<UUID> users; @@ -32,9 +32,7 @@ public class Tournament implements ITournament{ this.tournamentId = UUID.randomUUID(); this.tournamentName = tournamentName; this.bracket = new ArrayList<>(); - this.teams = teamNames.stream().map( Team::new ).toList(); + this.teams = teamNames.stream().map( Team::new ).collect(Collectors.toMap(Team::getTeamId, team -> team )); } - public Tournament(){}; - } diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IMatchRepository.java b/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IMatchRepository.java deleted file mode 100644 index 9c7b2360b0a05ebe600ce979f411ce793b040731..0000000000000000000000000000000000000000 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IMatchRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package hdm.mi.sthbackend.repository; - -import hdm.mi.sthbackend.model.Match; -import org.springframework.data.mongodb.repository.MongoRepository; - -import java.util.UUID; - -public interface IMatchRepository extends MongoRepository<Match, UUID> { -} diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IPlayerRepository.java b/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IPlayerRepository.java deleted file mode 100644 index def782437cb1748269a22f1f390b1f7a973c39ee..0000000000000000000000000000000000000000 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/IPlayerRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package hdm.mi.sthbackend.repository; - -import hdm.mi.sthbackend.model.Player; -import hdm.mi.sthbackend.model.Tournament; -import org.springframework.data.mongodb.repository.MongoRepository; -import org.springframework.stereotype.Repository; - -import java.util.UUID; - -@Repository -public interface IPlayerRepository extends MongoRepository<Player, UUID> { - -} diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/ITeamRepository.java b/sth-backend/src/main/java/hdm/mi/sthbackend/repository/ITeamRepository.java deleted file mode 100644 index e2bb9c3d526f8f8a9cdb06065fd23c914215184f..0000000000000000000000000000000000000000 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/repository/ITeamRepository.java +++ /dev/null @@ -1,9 +0,0 @@ -package hdm.mi.sthbackend.repository; - -import hdm.mi.sthbackend.model.Team; -import org.springframework.data.mongodb.repository.MongoRepository; - -import java.util.UUID; - -public interface ITeamRepository extends MongoRepository<Team, UUID> { -} diff --git a/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java b/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java index dfa77feeb9e366abb96d8243f08c31762cff284b..8b69b4372e70902b405299cc1c092e636d942dfa 100644 --- a/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java +++ b/sth-backend/src/main/java/hdm/mi/sthbackend/service/TournamentService.java @@ -25,17 +25,16 @@ public class TournamentService { private final Logger log = LogManager.getLogger(TournamentService.class); ITournamentRepository tournamentRepository; - IPlayerRepository playerRepository; - ITeamRepository teamRepository; - IMatchRepository matchRepository; @Autowired ModelToDTOMapper mapper; - public PlayerDTO addPlayerToTeam(UUID teamId, - String playerName) throws TeamIdNotFoundException { - Team team = teamRepository.findById(teamId) - .orElseThrow(() -> new TeamIdNotFoundException(teamId)); + public PlayerDTO addPlayerToTeam(UUID tournamentId, UUID teamId, + String playerName) throws TournamentIdNotFoundException, TeamIdNotFoundException { + Tournament tournament = tournamentRepository.findById(tournamentId) + .orElseThrow(() -> new TournamentIdNotFoundException( tournamentId)); + + Team team = Optional.ofNullable( tournament.getTeams().get( teamId )).orElseThrow(() -> new TeamIdNotFoundException(teamId)) ; Player newPlayer = new Player(UUID.randomUUID(), playerName); team.getTeamMembers()