Seperated score entry class
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 42s
Pull Request Pipeline / lint (pull_request) Failing after 47s

This commit is contained in:
2026-04-08 21:25:53 +02:00
parent b6fa71726e
commit 14d46d7e52

View File

@@ -1,26 +1,10 @@
import 'package:drift/drift.dart'; import 'package:drift/drift.dart';
import 'package:tallee/data/db/database.dart'; import 'package:tallee/data/db/database.dart';
import 'package:tallee/data/db/tables/score_table.dart'; import 'package:tallee/data/db/tables/score_table.dart';
import 'package:tallee/data/dto/score_entry.dart';
part 'score_dao.g.dart'; part 'score_dao.g.dart';
/// A data class representing a score entry.
class ScoreEntry {
final String playerId;
final String matchId;
final int roundNumber;
final int score;
final int change;
ScoreEntry({
required this.playerId,
required this.matchId,
required this.roundNumber,
required this.score,
required this.change,
});
}
@DriftAccessor(tables: [ScoreTable]) @DriftAccessor(tables: [ScoreTable])
class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin { class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
ScoreDao(super.db); ScoreDao(super.db);
@@ -68,9 +52,7 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
required String matchId, required String matchId,
}) async { }) async {
final query = select(scoreTable) final query = select(scoreTable)
..where( ..where((s) => s.playerId.equals(playerId) & s.matchId.equals(matchId))
(s) => s.playerId.equals(playerId) & s.matchId.equals(matchId),
)
..orderBy([(s) => OrderingTerm.asc(s.roundNumber)]); ..orderBy([(s) => OrderingTerm.asc(s.roundNumber)]);
final result = await query.get(); final result = await query.get();
return result return result
@@ -118,8 +100,8 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
required int newScore, required int newScore,
required int newChange, required int newChange,
}) async { }) async {
final rowsAffected = await (update(scoreTable) final rowsAffected =
..where( await (update(scoreTable)..where(
(s) => (s) =>
s.playerId.equals(playerId) & s.playerId.equals(playerId) &
s.matchId.equals(matchId) & s.matchId.equals(matchId) &
@@ -188,4 +170,3 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
return scores.last.score; return scores.last.score;
} }
} }