From bccd47e20ec00ba4c8d4d2ac01b6a0a637ad2e72 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Sun, 24 May 2026 23:27:14 +0200 Subject: [PATCH] Refactoring --- lib/data/dao/game_dao.dart | 32 +++++++------- lib/data/dao/group_dao.dart | 58 ++++++++++++------------- lib/data/dao/match_dao.dart | 61 ++++++++++++++------------- lib/data/dao/player_dao.dart | 48 ++++++++++----------- lib/data/dao/player_group_dao.dart | 26 +++++++----- lib/data/dao/player_match_dao.dart | 23 +++++----- lib/data/dao/score_entry_dao.dart | 42 +++++++++--------- lib/data/dao/statistic_game_dao.dart | 16 +++---- lib/data/dao/statistic_scope_dao.dart | 6 +-- lib/data/dao/team_dao.dart | 22 +++++----- 10 files changed, 171 insertions(+), 163 deletions(-) diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart index 1adfc9e..3ee8ebd 100644 --- a/lib/data/dao/game_dao.dart +++ b/lib/data/dao/game_dao.dart @@ -77,8 +77,8 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { /// Returns `true` if the game exists, `false` otherwise. Future gameExists({required String gameId}) async { final query = select(gameTable)..where((g) => g.id.equals(gameId)); - final result = await query.getSingleOrNull(); - return result != null; + final row = await query.getSingleOrNull(); + return row != null; } /// Retrieves all games from the database. @@ -103,15 +103,15 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { /// Retrieves a [Game] by its [gameId]. Future getGameById({required String gameId}) async { final query = select(gameTable)..where((g) => g.id.equals(gameId)); - final result = await query.getSingle(); + final row = await query.getSingle(); return Game( - id: result.id, - name: result.name, - ruleset: Ruleset.values.firstWhere((e) => e.name == result.ruleset), - description: result.description, - color: AppColor.values.firstWhere((e) => e.name == result.color), - icon: result.icon, - createdAt: result.createdAt, + id: row.id, + name: row.name, + ruleset: Ruleset.values.firstWhere((e) => e.name == row.ruleset), + description: row.description, + color: AppColor.values.firstWhere((e) => e.name == row.color), + icon: row.icon, + createdAt: row.createdAt, ); } @@ -123,7 +123,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { required String name, }) async { final rowsAffected = - await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + await (update(gameTable)..where((tbl) => tbl.id.equals(gameId))).write( GameTableCompanion(name: Value(name)), ); return rowsAffected > 0; @@ -135,7 +135,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { required Ruleset ruleset, }) async { final rowsAffected = - await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + await (update(gameTable)..where((tbl) => tbl.id.equals(gameId))).write( GameTableCompanion(ruleset: Value(ruleset.name)), ); return rowsAffected > 0; @@ -147,7 +147,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { required String description, }) async { final rowsAffected = - await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + await (update(gameTable)..where((tbl) => tbl.id.equals(gameId))).write( GameTableCompanion(description: Value(description)), ); return rowsAffected > 0; @@ -159,7 +159,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { required AppColor color, }) async { final rowsAffected = - await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + await (update(gameTable)..where((tbl) => tbl.id.equals(gameId))).write( GameTableCompanion(color: Value(color.name)), ); return rowsAffected > 0; @@ -171,7 +171,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { required String icon, }) async { final rowsAffected = - await (update(gameTable)..where((g) => g.id.equals(gameId))).write( + await (update(gameTable)..where((tbl) => tbl.id.equals(gameId))).write( GameTableCompanion(icon: Value(icon)), ); return rowsAffected > 0; @@ -182,7 +182,7 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { /// Deletes the game with the given [gameId] from the database. /// Returns `true` if the game was deleted, `false` if the game did not exist. Future deleteGame({required String gameId}) async { - final query = delete(gameTable)..where((g) => g.id.equals(gameId)); + final query = delete(gameTable)..where((tbl) => tbl.id.equals(gameId)); final rowsAffected = await query.go(); return rowsAffected > 0; } diff --git a/lib/data/dao/group_dao.dart b/lib/data/dao/group_dao.dart index 2de2ab9..8d1c0a2 100644 --- a/lib/data/dao/group_dao.dart +++ b/lib/data/dao/group_dao.dart @@ -143,16 +143,16 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { final query = select(groupTable); final result = await query.get(); return Future.wait( - result.map((groupData) async { + result.map((row) async { final members = await db.playerGroupDao.getPlayersOfGroup( - groupId: groupData.id, + groupId: row.id, ); return Group( - id: groupData.id, - name: groupData.name, - description: groupData.description, + id: row.id, + name: row.name, + description: row.description, members: members, - createdAt: groupData.createdAt, + createdAt: row.createdAt, ); }), ); @@ -161,18 +161,18 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { /// Retrieves a [Group] by its [groupId], including its members. Future getGroupById({required String groupId}) async { final query = select(groupTable)..where((g) => g.id.equals(groupId)); - final result = await query.getSingle(); + final row = await query.getSingle(); List members = await db.playerGroupDao.getPlayersOfGroup( groupId: groupId, ); return Group( - id: result.id, - name: result.name, - description: result.description, + id: row.id, + name: row.name, + description: row.description, members: members, - createdAt: result.createdAt, + createdAt: row.createdAt, ); } @@ -180,7 +180,7 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { Future getGroupCount() async { final count = await (selectOnly(groupTable)..addColumns([groupTable.id.count()])) - .map((row) => row.read(groupTable.id.count())) + .map((tbl) => tbl.read(groupTable.id.count())) .getSingle(); return count ?? 0; } @@ -190,28 +190,28 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { Future> getGroupsByPlayer({required String playerId}) async { final playerGroups = await (select( playerGroupTable, - )..where((pg) => pg.playerId.equals(playerId))).get(); + )..where((tbl) => tbl.playerId.equals(playerId))).get(); if (playerGroups.isEmpty) return []; final groupIds = playerGroups.map((pg) => pg.groupId).toSet().toList(); - final rows = + final result = await (select(groupTable) - ..where((g) => g.id.isIn(groupIds)) - ..orderBy([(g) => OrderingTerm.desc(g.createdAt)])) + ..where((tbl) => tbl.id.isIn(groupIds)) + ..orderBy([(tbl) => OrderingTerm.desc(tbl.createdAt)])) .get(); return Future.wait( - rows.map((groupData) async { + result.map((row) async { final members = await db.playerGroupDao.getPlayersOfGroup( - groupId: groupData.id, + groupId: row.id, ); return Group( - id: groupData.id, - name: groupData.name, - description: groupData.description, + id: row.id, + name: row.name, + description: row.description, members: members, - createdAt: groupData.createdAt, + createdAt: row.createdAt, ); }), ); @@ -221,8 +221,8 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { /// Returns `true` if the group exists, `false` otherwise. Future groupExists({required String groupId}) async { final query = select(groupTable)..where((g) => g.id.equals(groupId)); - final result = await query.getSingleOrNull(); - return result != null; + final row = await query.getSingleOrNull(); + return row != null; } /* Delete */ @@ -252,9 +252,8 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { required String name, }) async { final rowsAffected = - await (update(groupTable)..where((g) => g.id.equals(groupId))).write( - GroupTableCompanion(name: Value(name)), - ); + await (update(groupTable)..where((tbl) => tbl.id.equals(groupId))) + .write(GroupTableCompanion(name: Value(name))); return rowsAffected > 0; } @@ -265,9 +264,8 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { required String description, }) async { final rowsAffected = - await (update(groupTable)..where((g) => g.id.equals(groupId))).write( - GroupTableCompanion(description: Value(description)), - ); + await (update(groupTable)..where((tbl) => tbl.id.equals(groupId))) + .write(GroupTableCompanion(description: Value(description))); return rowsAffected > 0; } } diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index e8414f4..74611b6 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -258,15 +258,15 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// Returns `true` if the match exists, otherwise `false`. Future matchExists({required String matchId}) async { final query = select(matchTable)..where((g) => g.id.equals(matchId)); - final result = await query.getSingleOrNull(); - return result != null; + final row = await query.getSingleOrNull(); + return row != null; } /// Retrieves the number of matches in the database. Future getMatchCount() async { final count = await (selectOnly(matchTable)..addColumns([matchTable.id.count()])) - .map((row) => row.read(matchTable.id.count())) + .map((tbl) => tbl.read(matchTable.id.count())) .getSingle(); return count ?? 0; } @@ -279,10 +279,12 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { return Future.wait( result.map((row) async { final game = await db.gameDao.getGameById(gameId: row.gameId); + Group? group; if (row.groupId != null) { group = await db.groupDao.getGroupById(groupId: row.groupId!); } + final players = await db.playerMatchDao.getPlayersOfMatch( matchId: row.id, ); @@ -312,13 +314,13 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// Retrieves a [Match] by its [matchId]. Future getMatchById({required String matchId}) async { final query = select(matchTable)..where((g) => g.id.equals(matchId)); - final result = await query.getSingle(); + final row = await query.getSingle(); - final game = await db.gameDao.getGameById(gameId: result.gameId); + final game = await db.gameDao.getGameById(gameId: row.gameId); Group? group; - if (result.groupId != null) { - group = await db.groupDao.getGroupById(groupId: result.groupId!); + if (row.groupId != null) { + group = await db.groupDao.getGroupById(groupId: row.groupId!); } final players = await db.playerMatchDao.getPlayersOfMatch(matchId: matchId); @@ -328,15 +330,15 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { final teams = await _getMatchTeams(matchId: matchId); return Match( - id: result.id, - name: result.name, + id: row.id, + name: row.name, game: game, group: group, players: players, teams: teams.isEmpty ? null : teams, - notes: result.notes, - createdAt: result.createdAt, - endedAt: result.endedAt, + notes: row.notes, + createdAt: row.createdAt, + endedAt: row.endedAt, scores: scores, ); } @@ -347,7 +349,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { await (selectOnly(matchTable) ..where(matchTable.gameId.equals(gameId)) ..addColumns([matchTable.id.count()])) - .map((row) => row.read(matchTable.id.count())) + .map((tbl) => tbl.read(matchTable.id.count())) .getSingle(); return count ?? 0; } @@ -355,19 +357,19 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { Future> getMatchesByPlayer({required String playerId}) async { final playerMatches = await (select( playerMatchTable, - )..where((pm) => pm.playerId.equals(playerId))).get(); + )..where((tbl) => tbl.playerId.equals(playerId))).get(); if (playerMatches.isEmpty) return []; - final matchIds = playerMatches.map((pm) => pm.matchId).toSet().toList(); - final rows = + final matchIds = playerMatches.map((tbl) => tbl.matchId).toSet().toList(); + final result = await (select(matchTable) - ..where((m) => m.id.isIn(matchIds)) - ..orderBy([(m) => OrderingTerm.desc(m.createdAt)])) + ..where((tbl) => tbl.id.isIn(matchIds)) + ..orderBy([(tbl) => OrderingTerm.desc(tbl.createdAt)])) .get(); return Future.wait( - rows.map((row) async { + result.map((row) async { final game = await db.gameDao.getGameById(gameId: row.gameId); Group? group; @@ -403,16 +405,17 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// Queries the database directly, filtering by [groupId]. Future> getMatchesByGroup({required String groupId}) async { final query = select(matchTable)..where((m) => m.groupId.equals(groupId)); - final rows = await query.get(); + final result = await query.get(); return Future.wait( - rows.map((row) async { + result.map((row) async { final game = await db.gameDao.getGameById(gameId: row.gameId); final group = await db.groupDao.getGroupById(groupId: groupId); final players = await db.playerMatchDao.getPlayersOfMatch( matchId: row.id, ); final teams = await _getMatchTeams(matchId: row.id); + return Match( id: row.id, name: row.name, @@ -432,7 +435,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { Future> _getMatchTeams({required String matchId}) async { // Get all unique team IDs from PlayerMatchTable for this match final playerMatchQuery = select(db.playerMatchTable) - ..where((pm) => pm.matchId.equals(matchId) & pm.teamId.isNotNull()); + ..where((tbl) => tbl.matchId.equals(matchId) & tbl.teamId.isNotNull()); final playerMatches = await playerMatchQuery.get(); if (playerMatches.isEmpty) return []; @@ -459,7 +462,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { required String matchId, required String name, }) async { - final query = update(matchTable)..where((g) => g.id.equals(matchId)); + final query = update(matchTable)..where((tbl) => tbl.id.equals(matchId)); final rowsAffected = await query.write( MatchTableCompanion(name: Value(name)), ); @@ -474,7 +477,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { required String matchId, required String? groupId, }) async { - final query = update(matchTable)..where((g) => g.id.equals(matchId)); + final query = update(matchTable)..where((tbl) => tbl.id.equals(matchId)); final rowsAffected = await query.write( MatchTableCompanion(groupId: Value(groupId)), ); @@ -487,7 +490,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { required String matchId, required String notes, }) async { - final query = update(matchTable)..where((g) => g.id.equals(matchId)); + final query = update(matchTable)..where((tbl) => tbl.id.equals(matchId)); final rowsAffected = await query.write( MatchTableCompanion(notes: Value(notes)), ); @@ -498,7 +501,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// Sets the groupId to null. /// Returns `true` if more than 0 rows were affected, otherwise `false`. Future removeMatchGroup({required String matchId}) async { - final query = update(matchTable)..where((g) => g.id.equals(matchId)); + final query = update(matchTable)..where((tbl) => tbl.id.equals(matchId)); final rowsAffected = await query.write( const MatchTableCompanion(groupId: Value(null)), ); @@ -512,7 +515,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { required String matchId, required DateTime endedAt, }) async { - final query = update(matchTable)..where((g) => g.id.equals(matchId)); + final query = update(matchTable)..where((tbl) => tbl.id.equals(matchId)); final rowsAffected = await query.write( MatchTableCompanion(endedAt: Value(endedAt)), ); @@ -524,7 +527,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// Deletes the match with the given [matchId] from the database. /// Returns `true` if more than 0 rows were affected, otherwise `false`. Future deleteMatch({required String matchId}) async { - final query = delete(matchTable)..where((g) => g.id.equals(matchId)); + final query = delete(matchTable)..where((tbl) => tbl.id.equals(matchId)); final rowsAffected = await query.go(); return rowsAffected > 0; } @@ -540,7 +543,7 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /// Deletes all matches associated with a specific game. /// Returns the number of matches deleted. Future deleteMatchesByGame({required String gameId}) async { - final query = delete(matchTable)..where((m) => m.gameId.equals(gameId)); + final query = delete(matchTable)..where((tbl) => tbl.gameId.equals(gameId)); final rowsAffected = await query.go(); return rowsAffected; } diff --git a/lib/data/dao/player_dao.dart b/lib/data/dao/player_dao.dart index a6fd1c5..1a60243 100644 --- a/lib/data/dao/player_dao.dart +++ b/lib/data/dao/player_dao.dart @@ -113,7 +113,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { Future getPlayerCount() async { final count = await (selectOnly(playerTable)..addColumns([playerTable.id.count()])) - .map((row) => row.read(playerTable.id.count())) + .map((tbl) => tbl.read(playerTable.id.count())) .getSingle(); return count ?? 0; } @@ -122,8 +122,8 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { /// Returns `true` if the player exists, `false` otherwise. Future playerExists({required String playerId}) async { final query = select(playerTable)..where((p) => p.id.equals(playerId)); - final result = await query.getSingleOrNull(); - return result != null; + final row = await query.getSingleOrNull(); + return row != null; } /// Retrieves all players from the database. @@ -146,13 +146,13 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { /// Retrieves a [Player] by their [id]. Future getPlayerById({required String playerId}) async { final query = select(playerTable)..where((p) => p.id.equals(playerId)); - final result = await query.getSingle(); + final row = await query.getSingle(); return Player( - id: result.id, - name: result.name, - description: result.description, - createdAt: result.createdAt, - nameCount: result.nameCount, + id: row.id, + name: row.name, + description: row.description, + createdAt: row.createdAt, + nameCount: row.nameCount, ); } @@ -174,7 +174,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { return transaction(() async { final previousPlayer = await (select( playerTable, - )..where((p) => p.id.equals(playerId))).getSingleOrNull(); + )..where((tbl) => tbl.id.equals(playerId))).getSingleOrNull(); if (previousPlayer == null) return false; final previousName = previousPlayer.name; @@ -186,7 +186,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { final rowsAffected = await (update( playerTable, - )..where((p) => p.id.equals(playerId))).write( + )..where((tbl) => tbl.id.equals(playerId))).write( PlayerTableCompanion( name: Value(name), nameCount: Value(newNameCount), @@ -203,9 +203,9 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { } else if (remainingCount > 1 && previousCount > 0) { // Shift every player above the gap down by one to keep numbering in order. await (update(playerTable)..where( - (p) => - p.name.equals(previousName) & - p.nameCount.isBiggerThanValue(previousCount), + (tbl) => + tbl.name.equals(previousName) & + tbl.nameCount.isBiggerThanValue(previousCount), )) .write( PlayerTableCompanion.custom( @@ -226,9 +226,8 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { required String description, }) async { final rowsAffected = - await (update(playerTable)..where((g) => g.id.equals(playerId))).write( - PlayerTableCompanion(description: Value(description)), - ); + await (update(playerTable)..where((tbl) => tbl.id.equals(playerId))) + .write(PlayerTableCompanion(description: Value(description))); return rowsAffected > 0; } @@ -237,7 +236,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { /// Deletes the player with the given [id] from the database. /// Returns `true` if the player was deleted, `false` if the player did not exist. Future deletePlayer({required String playerId}) async { - final query = delete(playerTable)..where((p) => p.id.equals(playerId)); + final query = delete(playerTable)..where((tbl) => tbl.id.equals(playerId)); final rowsAffected = await query.go(); return rowsAffected > 0; } @@ -248,7 +247,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { /// Returns the highest name count if players with the same name exist, /// otherwise `null`. Future getNameCount({required String name}) async { - final query = select(playerTable)..where((p) => p.name.equals(name)); + final query = select(playerTable)..where((tbl) => tbl.name.equals(name)); final result = await query.get(); return result.length; } @@ -259,7 +258,7 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { required String playerId, required int nameCount, }) async { - final query = update(playerTable)..where((p) => p.id.equals(playerId)); + final query = update(playerTable)..where((tbl) => tbl.id.equals(playerId)); final rowsAffected = await query.write( PlayerTableCompanion(nameCount: Value(nameCount)), ); @@ -269,8 +268,8 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { @visibleForTesting Future getPlayerWithHighestNameCount({required String name}) async { final query = select(playerTable) - ..where((p) => p.name.equals(name)) - ..orderBy([(p) => OrderingTerm.desc(p.nameCount)]) + ..where((tbl) => tbl.name.equals(name)) + ..orderBy([(tbl) => OrderingTerm.desc(tbl.nameCount)]) ..limit(1); final result = await query.getSingleOrNull(); if (result != null) { @@ -324,9 +323,8 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { @visibleForTesting Future initializeNameCount({required String name}) async { final rowsAffected = - await (update(playerTable)..where((p) => p.name.equals(name))).write( - const PlayerTableCompanion(nameCount: Value(1)), - ); + await (update(playerTable)..where((tbl) => tbl.name.equals(name))) + .write(const PlayerTableCompanion(nameCount: Value(1))); return rowsAffected > 0; } diff --git a/lib/data/dao/player_group_dao.dart b/lib/data/dao/player_group_dao.dart index 5139eea..b48dc23 100644 --- a/lib/data/dao/player_group_dao.dart +++ b/lib/data/dao/player_group_dao.dart @@ -46,15 +46,15 @@ class PlayerGroupDao extends DatabaseAccessor ), ])..where(playerGroupTable.groupId.equals(groupId)); - final results = await query.map((row) => row.readTable(playerTable)).get(); - return results + final result = await query.map((row) => row.readTable(playerTable)).get(); + return result .map( - (result) => Player( - id: result.id, - createdAt: result.createdAt, - name: result.name, - nameCount: result.nameCount, - description: result.description, + (row) => Player( + id: row.id, + createdAt: row.createdAt, + name: row.name, + nameCount: row.nameCount, + description: row.description, ), ) .toList(); @@ -67,7 +67,9 @@ class PlayerGroupDao extends DatabaseAccessor required String groupId, }) async { final query = select(playerGroupTable) - ..where((p) => p.playerId.equals(playerId) & p.groupId.equals(groupId)); + ..where( + (tbl) => tbl.playerId.equals(playerId) & tbl.groupId.equals(groupId), + ); final result = await query.getSingleOrNull(); return result != null; } @@ -88,7 +90,7 @@ class PlayerGroupDao extends DatabaseAccessor await db.transaction(() async { // Remove all existing players from the group final deleteQuery = delete(db.playerGroupTable) - ..where((p) => p.groupId.equals(groupId)); + ..where((tbl) => tbl.groupId.equals(groupId)); await deleteQuery.go(); // Add new players to the player table if they don't exist @@ -128,7 +130,9 @@ class PlayerGroupDao extends DatabaseAccessor required String groupId, }) async { final query = delete(playerGroupTable) - ..where((p) => p.playerId.equals(playerId) & p.groupId.equals(groupId)); + ..where( + (tbl) => tbl.playerId.equals(playerId) & tbl.groupId.equals(groupId), + ); final rowsAffected = await query.go(); return rowsAffected > 0; } diff --git a/lib/data/dao/player_match_dao.dart b/lib/data/dao/player_match_dao.dart index d119468..912cfcc 100644 --- a/lib/data/dao/player_match_dao.dart +++ b/lib/data/dao/player_match_dao.dart @@ -40,7 +40,7 @@ class PlayerMatchDao extends DatabaseAccessor await (selectOnly(playerMatchTable) ..where(playerMatchTable.matchId.equals(matchId)) ..addColumns([playerMatchTable.playerId.count()])) - .map((row) => row.read(playerMatchTable.playerId.count())) + .map((tbl) => tbl.read(playerMatchTable.playerId.count())) .getSingle(); return (count ?? 0) > 0; } @@ -56,7 +56,7 @@ class PlayerMatchDao extends DatabaseAccessor ..where(playerMatchTable.matchId.equals(matchId)) ..where(playerMatchTable.playerId.equals(playerId)) ..addColumns([playerMatchTable.playerId.count()])) - .map((row) => row.read(playerMatchTable.playerId.count())) + .map((tbl) => tbl.read(playerMatchTable.playerId.count())) .getSingle(); return (count ?? 0) > 0; } @@ -66,7 +66,7 @@ class PlayerMatchDao extends DatabaseAccessor Future> getPlayersOfMatch({required String matchId}) async { final result = await (select( playerMatchTable, - )..where((p) => p.matchId.equals(matchId))).get(); + )..where((tbl) => tbl.matchId.equals(matchId))).get(); if (result.isEmpty) return []; @@ -85,8 +85,8 @@ class PlayerMatchDao extends DatabaseAccessor }) async { final result = await (select(playerMatchTable) - ..where((p) => p.matchId.equals(matchId)) - ..where((p) => p.teamId.equals(teamId))) + ..where((tbl) => tbl.matchId.equals(matchId)) + ..where((tbl) => tbl.teamId.equals(teamId))) .get(); if (result.isEmpty) return []; @@ -109,7 +109,8 @@ class PlayerMatchDao extends DatabaseAccessor }) async { final rowsAffected = await (update(playerMatchTable)..where( - (p) => p.matchId.equals(matchId) & p.playerId.equals(playerId), + (tbl) => + tbl.matchId.equals(matchId) & tbl.playerId.equals(playerId), )) .write(PlayerMatchTableCompanion(teamId: Value(teamId))); return rowsAffected > 0; @@ -143,9 +144,9 @@ class PlayerMatchDao extends DatabaseAccessor // Remove old players if (playersToRemove.isNotEmpty) { await (delete(playerMatchTable)..where( - (pg) => - pg.matchId.equals(matchId) & - pg.playerId.isIn(playersToRemove.toList()), + (tbl) => + tbl.matchId.equals(matchId) & + tbl.playerId.isIn(playersToRemove.toList()), )) .go(); } @@ -182,8 +183,8 @@ class PlayerMatchDao extends DatabaseAccessor required String playerId, }) async { final query = delete(playerMatchTable) - ..where((pg) => pg.matchId.equals(matchId)) - ..where((pg) => pg.playerId.equals(playerId)); + ..where((tbl) => tbl.matchId.equals(matchId)) + ..where((tbl) => tbl.playerId.equals(playerId)); final rowsAffected = await query.go(); return rowsAffected > 0; } diff --git a/lib/data/dao/score_entry_dao.dart b/lib/data/dao/score_entry_dao.dart index 830135d..276e8fd 100644 --- a/lib/data/dao/score_entry_dao.dart +++ b/lib/data/dao/score_entry_dao.dart @@ -70,10 +70,10 @@ class ScoreEntryDao extends DatabaseAccessor }) async { final query = select(scoreEntryTable) ..where( - (s) => - s.playerId.equals(playerId) & - s.matchId.equals(matchId) & - s.roundNumber.equals(roundNumber), + (tbl) => + tbl.playerId.equals(playerId) & + tbl.matchId.equals(matchId) & + tbl.roundNumber.equals(roundNumber), ); final result = await query.getSingleOrNull(); @@ -91,7 +91,7 @@ class ScoreEntryDao extends DatabaseAccessor required String matchId, }) async { final query = select(scoreEntryTable) - ..where((s) => s.matchId.equals(matchId)); + ..where((tbl) => tbl.matchId.equals(matchId)); final result = await query.get(); final Map scoresByPlayer = {}; @@ -113,8 +113,10 @@ class ScoreEntryDao extends DatabaseAccessor required String matchId, }) async { final query = select(scoreEntryTable) - ..where((s) => s.playerId.equals(playerId) & s.matchId.equals(matchId)) - ..orderBy([(s) => OrderingTerm.asc(s.roundNumber)]); + ..where( + (tbl) => tbl.playerId.equals(playerId) & tbl.matchId.equals(matchId), + ) + ..orderBy([(tbl) => OrderingTerm.asc(tbl.roundNumber)]); final result = await query.get(); return result .map( @@ -136,8 +138,8 @@ class ScoreEntryDao extends DatabaseAccessor final query = selectOnly(scoreEntryTable) ..where(scoreEntryTable.matchId.equals(matchId)) ..addColumns([scoreEntryTable.roundNumber.max()]); - final result = await query.getSingle(); - return result.read(scoreEntryTable.roundNumber.max()); + final row = await query.getSingle(); + return row.read(scoreEntryTable.roundNumber.max()); } /// Aggregates the total score for a player in a match by summing all their @@ -166,10 +168,10 @@ class ScoreEntryDao extends DatabaseAccessor }) async { final rowsAffected = await (update(scoreEntryTable)..where( - (s) => - s.playerId.equals(playerId) & - s.matchId.equals(matchId) & - s.roundNumber.equals(entry.roundNumber), + (tbl) => + tbl.playerId.equals(playerId) & + tbl.matchId.equals(matchId) & + tbl.roundNumber.equals(entry.roundNumber), )) .write( ScoreEntryTableCompanion( @@ -190,10 +192,10 @@ class ScoreEntryDao extends DatabaseAccessor }) async { final query = delete(scoreEntryTable) ..where( - (s) => - s.playerId.equals(playerId) & - s.matchId.equals(matchId) & - s.roundNumber.equals(roundNumber), + (tbl) => + tbl.playerId.equals(playerId) & + tbl.matchId.equals(matchId) & + tbl.roundNumber.equals(roundNumber), ); final rowsAffected = await query.go(); return rowsAffected > 0; @@ -201,7 +203,7 @@ class ScoreEntryDao extends DatabaseAccessor Future deleteAllScoresForMatch({required String matchId}) async { final query = delete(scoreEntryTable) - ..where((s) => s.matchId.equals(matchId)); + ..where((tbl) => tbl.matchId.equals(matchId)); final rowsAffected = await query.go(); return rowsAffected > 0; } @@ -211,7 +213,9 @@ class ScoreEntryDao extends DatabaseAccessor required String playerId, }) async { final query = delete(scoreEntryTable) - ..where((s) => s.playerId.equals(playerId) & s.matchId.equals(matchId)); + ..where( + (tbl) => tbl.playerId.equals(playerId) & tbl.matchId.equals(matchId), + ); final rowsAffected = await query.go(); return rowsAffected > 0; } diff --git a/lib/data/dao/statistic_game_dao.dart b/lib/data/dao/statistic_game_dao.dart index 4ee5b84..76e3429 100644 --- a/lib/data/dao/statistic_game_dao.dart +++ b/lib/data/dao/statistic_game_dao.dart @@ -20,14 +20,14 @@ class StatisticGameDao extends DatabaseAccessor final results = await query.map((row) => row.readTable(gameTable)).get(); return results .map( - (result) => Game( - id: result.id, - name: result.name, - ruleset: Ruleset.values.firstWhere((e) => e.name == result.ruleset), - description: result.description, - color: AppColor.values.firstWhere((e) => e.name == result.color), - icon: result.icon, - createdAt: result.createdAt, + (row) => Game( + id: row.id, + name: row.name, + ruleset: Ruleset.values.firstWhere((e) => e.name == row.ruleset), + description: row.description, + color: AppColor.values.firstWhere((e) => e.name == row.color), + icon: row.icon, + createdAt: row.createdAt, ), ) .toList(); diff --git a/lib/data/dao/statistic_scope_dao.dart b/lib/data/dao/statistic_scope_dao.dart index 2027acd..d2fc315 100644 --- a/lib/data/dao/statistic_scope_dao.dart +++ b/lib/data/dao/statistic_scope_dao.dart @@ -18,10 +18,10 @@ class StatisticScopeDao extends DatabaseAccessor final results = await query.get(); return results .map( - (result) => StatisticScope.values.firstWhere( - (e) => e.name == result.scope, + (row) => StatisticScope.values.firstWhere( + (e) => e.name == row.scope, orElse: () => throw Exception( - 'Invalid scope value: ${result.scope} for statistic ID: $statisticId', + 'Invalid scope value: ${row.scope} for statistic ID: $statisticId', ), ), ) diff --git a/lib/data/dao/team_dao.dart b/lib/data/dao/team_dao.dart index cba68fb..333db68 100644 --- a/lib/data/dao/team_dao.dart +++ b/lib/data/dao/team_dao.dart @@ -86,7 +86,7 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { Future getTeamCount() async { final count = await (selectOnly(teamTable)..addColumns([teamTable.id.count()])) - .map((row) => row.read(teamTable.id.count())) + .map((tbl) => tbl.read(teamTable.id.count())) .getSingle(); return count ?? 0; } @@ -95,8 +95,8 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { /// Returns `true` if the team exists, `false` otherwise. Future teamExists({required String teamId}) async { final query = select(teamTable)..where((t) => t.id.equals(teamId)); - final result = await query.getSingleOrNull(); - return result != null; + final row = await query.getSingleOrNull(); + return row != null; } /// Retrieves all teams from the database. @@ -119,12 +119,12 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { /// Retrieves a [Team] by its [teamId], including its members. Future getTeamById({required String teamId}) async { final query = select(teamTable)..where((t) => t.id.equals(teamId)); - final result = await query.getSingle(); + final row = await query.getSingle(); final members = await _getTeamMembers(teamId: teamId); return Team( - id: result.id, - name: result.name, - createdAt: result.createdAt, + id: row.id, + name: row.name, + createdAt: row.createdAt, members: members, ); } @@ -133,13 +133,13 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { Future> _getTeamMembers({required String teamId}) async { // Get all player_match entries with this teamId final playerMatchQuery = select(db.playerMatchTable) - ..where((pm) => pm.teamId.equals(teamId)); + ..where((tbl) => tbl.teamId.equals(teamId)); final playerMatches = await playerMatchQuery.get(); if (playerMatches.isEmpty) return []; // Get unique player IDs - final playerIds = playerMatches.map((pm) => pm.playerId).toSet(); + final playerIds = playerMatches.map((tbl) => tbl.playerId).toSet(); // Fetch all players final players = await Future.wait( @@ -156,7 +156,7 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { required String name, }) async { final rowsAffected = - await (update(teamTable)..where((t) => t.id.equals(teamId))).write( + await (update(teamTable)..where((tbl) => tbl.id.equals(teamId))).write( TeamTableCompanion(name: Value(name)), ); return rowsAffected > 0; @@ -175,7 +175,7 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { /// Deletes the team with the given [teamId] from the database. /// Returns `true` if the team was deleted, `false` otherwise. Future deleteTeam({required String teamId}) async { - final query = delete(teamTable)..where((t) => t.id.equals(teamId)); + final query = delete(teamTable)..where((tbl) => tbl.id.equals(teamId)); final rowsAffected = await query.go(); return rowsAffected > 0; }