2 Commits

Author SHA1 Message Date
gelbeinhalb
49e990dfea add TEMPORARY winner getter and setter methods to match_dao.dart
Some checks failed
Pull Request Pipeline / test (pull_request) Failing after 1m57s
Pull Request Pipeline / lint (pull_request) Failing after 3m32s
2026-01-16 13:44:03 +01:00
gelbeinhalb
40e970a5dc re-add winner parameter 2026-01-16 13:37:00 +01:00
2 changed files with 39 additions and 1 deletions

View File

@@ -339,4 +339,40 @@ class MatchDao extends DatabaseAccessor<AppDatabase> with _$MatchDaoMixin {
);
return rowsAffected > 0;
}
// ============================================================
// TEMPORARY: Winner methods - these are stubs and do not persist data
// TODO: Implement proper winner handling
// ============================================================
/// TEMPORARY: Checks if a match has a winner.
/// Currently returns true if the match has any players.
Future<bool> hasWinner({required String matchId}) async {
final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId);
return players?.isNotEmpty ?? false;
}
/// TEMPORARY: Gets the winner of a match.
/// Currently returns the first player in the match's player list.
Future<Player?> getWinner({required String matchId}) async {
final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId);
return (players?.isNotEmpty ?? false) ? players!.first : null;
}
/// TEMPORARY: Sets the winner of a match.
/// Currently does nothing - winner is not persisted.
Future<bool> setWinner({
required String matchId,
required String winnerId,
}) async {
// TODO: Implement winner persistence
return true;
}
/// TEMPORARY: Removes the winner of a match.
/// Currently does nothing - winner is not persisted.
Future<bool> removeWinner({required String matchId}) async {
// TODO: Implement winner persistence
return true;
}
}

View File

@@ -12,6 +12,7 @@ class Match {
final Group? group;
final List<Player>? players;
final String? notes;
Player? winner;
Match({
String? id,
@@ -21,12 +22,13 @@ class Match {
this.group,
this.players,
this.notes,
this.winner,
}) : id = id ?? const Uuid().v4(),
createdAt = createdAt ?? clock.now();
@override
String toString() {
return 'Match{id: $id, name: $name, game: $game, group: $group, players: $players, notes: $notes}';
return 'Match{id: $id, name: $name, game: $game, group: $group, players: $players, notes: $notes, winner: $winner}';
}
/// Creates a Match instance from a JSON object.