Revert "simplify tournament update code"

This reverts commit 0071ef7497.
pull/9812/head
Thibault Duplessis 2021-09-15 19:08:28 +02:00
parent 0071ef7497
commit 12e7dc63a8
2 changed files with 20 additions and 7 deletions

View File

@ -401,7 +401,7 @@ final class Tournament(
.fold(
newJsonFormError,
data =>
api.update(tour, data, teams) flatMap { tour =>
api.apiUpdate(tour, data, teams) flatMap { tour =>
jsonView(
tour,
none,

View File

@ -100,15 +100,28 @@ final class TournamentApi(
}
def update(old: Tournament, data: TournamentSetup, leaderTeams: List[LeaderTeam]): Fu[Tournament] = {
val tour = old.copy(
conditions = data.conditions
.convert(old.perfType, leaderTeams.view.map(_.pair).toMap)
.copy(teamMember = old.conditions.teamMember), // can't change that
mode = if (old.position.isDefined) chess.Mode.Casual else old.mode
)
val tour = postUpdate(old, data, data updateAll old, leaderTeams)
tournamentRepo update tour inject tour
}
def apiUpdate(old: Tournament, data: TournamentSetup, leaderTeams: List[LeaderTeam]): Fu[Tournament] = {
val tour = postUpdate(old, data, data updatePresent old, leaderTeams)
tournamentRepo update tour inject tour
}
private def postUpdate(
old: Tournament,
data: TournamentSetup,
tour: Tournament,
leaderTeams: List[LeaderTeam]
) =
tour.copy(
conditions = data.conditions
.convert(tour.perfType, leaderTeams.view.map(_.pair).toMap)
.copy(teamMember = old.conditions.teamMember), // can't change that
mode = if (tour.position.isDefined) chess.Mode.Casual else tour.mode
)
def teamBattleUpdate(
tour: Tournament,
data: TeamBattle.DataForm.Setup,