refactor(TournamentService): update participant ID handling for knockout matches
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 57s
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 57s
This commit is contained in:
@@ -370,12 +370,12 @@ class TournamentService {
|
||||
const perGroupRanked = relevantStage1Groups.map(g => ({
|
||||
groupId: g.groupId,
|
||||
classId: g.classId ?? null,
|
||||
// WICHTIG:
|
||||
// - Für interne Teilnehmer brauchen wir die ClubMember-ID (Member.id / TournamentMember.clubMemberId),
|
||||
// nicht die TournamentMember.id.
|
||||
// - Für externe Teilnehmer ist `id` die ExternalTournamentParticipant.id (bestehende Logik).
|
||||
// `id` muss für K.-o.-Matches die Turnierteilnehmer-ID sein, weil
|
||||
// getTournamentMatches() Spieler damit auflöst. Die Vereinsmitglied-ID
|
||||
// behalten wir zusätzlich für einen möglichen Übergang in weitere Gruppen.
|
||||
participants: (g.participants || []).map((p, index) => ({
|
||||
id: p.isExternal ? p.id : (p.clubMemberId ?? p.member?.id ?? p.id),
|
||||
id: p.id,
|
||||
clubMemberId: p.isExternal ? null : p.clubMemberId,
|
||||
isExternal: !!p.isExternal,
|
||||
place: Number(p.position ?? index + 1),
|
||||
points: Number(p.points ?? 0),
|
||||
@@ -482,7 +482,8 @@ class TournamentService {
|
||||
createdGroups.push(containerGroup);
|
||||
|
||||
const entrants = items.map(p => ({
|
||||
// p.id wurde oben bereits als clubMemberId (intern) bzw. ExternalParticipant.id (extern) gemappt
|
||||
// `id` ist die Turnierteilnehmer-ID; clubMemberId bleibt für
|
||||
// etwaige spätere Gruppenübergänge separat erhalten.
|
||||
id: Number(p.id),
|
||||
isExternal: !!p.isExternal,
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user