Refactoring

This commit is contained in:
2026-04-12 01:59:51 +02:00
parent eeb68496d5
commit 8a312152a5
12 changed files with 317 additions and 362 deletions

View File

@@ -110,7 +110,7 @@ class MatchDao extends DatabaseAccessor<AppDatabase> with _$MatchDaoMixin {
for (final pid in match.scores.keys) { for (final pid in match.scores.keys) {
final playerScores = match.scores[pid]!; final playerScores = match.scores[pid]!;
await db.scoreDao.addScoresAsList( await db.scoreDao.addScoresAsList(
scores: playerScores, entrys: playerScores,
playerId: pid, playerId: pid,
matchId: match.id, matchId: match.id,
); );

View File

@@ -2,13 +2,13 @@ import 'dart:async';
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_entry_table.dart';
import 'package:tallee/data/models/player.dart'; import 'package:tallee/data/models/player.dart';
import 'package:tallee/data/models/score.dart'; import 'package:tallee/data/models/score_entry.dart';
part 'score_dao.g.dart'; part 'score_dao.g.dart';
@DriftAccessor(tables: [ScoreTable]) @DriftAccessor(tables: [ScoreEntryTable])
class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin { class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
ScoreDao(super.db); ScoreDao(super.db);
@@ -16,31 +16,29 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
Future<void> addScore({ Future<void> addScore({
required String playerId, required String playerId,
required String matchId, required String matchId,
required int score, required ScoreEntry entry,
int change = 0,
int roundNumber = 0,
}) async { }) async {
await into(scoreTable).insert( await into(scoreEntryTable).insert(
ScoreTableCompanion.insert( ScoreEntryTableCompanion.insert(
playerId: playerId, playerId: playerId,
matchId: matchId, matchId: matchId,
roundNumber: roundNumber, roundNumber: entry.roundNumber,
score: score, score: entry.score,
change: change, change: entry.change,
), ),
mode: InsertMode.insertOrReplace, mode: InsertMode.insertOrReplace,
); );
} }
Future<void> addScoresAsList({ Future<void> addScoresAsList({
required List<Score> scores, required List<ScoreEntry> entrys,
required String playerId, required String playerId,
required String matchId, required String matchId,
}) async { }) async {
if (scores.isEmpty) return; if (entrys.isEmpty) return;
final entries = scores final entries = entrys
.map( .map(
(score) => ScoreTableCompanion.insert( (score) => ScoreEntryTableCompanion.insert(
playerId: playerId, playerId: playerId,
matchId: matchId, matchId: matchId,
roundNumber: score.roundNumber, roundNumber: score.roundNumber,
@@ -56,12 +54,12 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
} }
/// Retrieves the score for a specific round. /// Retrieves the score for a specific round.
Future<Score?> getScore({ Future<ScoreEntry?> getScore({
required String playerId, required String playerId,
required String matchId, required String matchId,
int roundNumber = 0, int roundNumber = 0,
}) async { }) async {
final query = select(scoreTable) final query = select(scoreEntryTable)
..where( ..where(
(s) => (s) =>
s.playerId.equals(playerId) & s.playerId.equals(playerId) &
@@ -72,7 +70,7 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
final result = await query.getSingleOrNull(); final result = await query.getSingleOrNull();
if (result == null) return null; if (result == null) return null;
return Score( return ScoreEntry(
roundNumber: result.roundNumber, roundNumber: result.roundNumber,
score: result.score, score: result.score,
change: result.change, change: result.change,
@@ -80,15 +78,16 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
} }
/// Retrieves all scores for a specific match. /// Retrieves all scores for a specific match.
Future<Map<String, List<Score>>> getAllMatchScores({ Future<Map<String, List<ScoreEntry>>> getAllMatchScores({
required String matchId, required String matchId,
}) async { }) async {
final query = select(scoreTable)..where((s) => s.matchId.equals(matchId)); final query = select(scoreEntryTable)
..where((s) => s.matchId.equals(matchId));
final result = await query.get(); final result = await query.get();
final Map<String, List<Score>> scoresByPlayer = {}; final Map<String, List<ScoreEntry>> scoresByPlayer = {};
for (final row in result) { for (final row in result) {
final score = Score( final score = ScoreEntry(
roundNumber: row.roundNumber, roundNumber: row.roundNumber,
score: row.score, score: row.score,
change: row.change, change: row.change,
@@ -100,17 +99,17 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
} }
/// Retrieves all scores for a specific player in a match. /// Retrieves all scores for a specific player in a match.
Future<List<Score>> getAllPlayerScoresInMatch({ Future<List<ScoreEntry>> getAllPlayerScoresInMatch({
required String playerId, required String playerId,
required String matchId, required String matchId,
}) async { }) async {
final query = select(scoreTable) final query = select(scoreEntryTable)
..where((s) => s.playerId.equals(playerId) & s.matchId.equals(matchId)) ..where((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
.map( .map(
(row) => Score( (row) => ScoreEntry(
roundNumber: row.roundNumber, roundNumber: row.roundNumber,
score: row.score, score: row.score,
change: row.change, change: row.change,
@@ -126,21 +125,19 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
Future<bool> updateScore({ Future<bool> updateScore({
required String playerId, required String playerId,
required String matchId, required String matchId,
required int newScore, required ScoreEntry newEntry,
int newChange = 0,
int roundNumber = 0,
}) async { }) async {
final rowsAffected = final rowsAffected =
await (update(scoreTable)..where( await (update(scoreEntryTable)..where(
(s) => (s) =>
s.playerId.equals(playerId) & s.playerId.equals(playerId) &
s.matchId.equals(matchId) & s.matchId.equals(matchId) &
s.roundNumber.equals(roundNumber), s.roundNumber.equals(newEntry.roundNumber),
)) ))
.write( .write(
ScoreTableCompanion( ScoreEntryTableCompanion(
score: Value(newScore), score: Value(newEntry.score),
change: Value(newChange), change: Value(newEntry.change),
), ),
); );
return rowsAffected > 0; return rowsAffected > 0;
@@ -152,7 +149,7 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
required String matchId, required String matchId,
int roundNumber = 0, int roundNumber = 0,
}) async { }) async {
final query = delete(scoreTable) final query = delete(scoreEntryTable)
..where( ..where(
(s) => (s) =>
s.playerId.equals(playerId) & s.playerId.equals(playerId) &
@@ -164,7 +161,8 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
} }
Future<bool> deleteAllScoresForMatch({required String matchId}) async { Future<bool> deleteAllScoresForMatch({required String matchId}) async {
final query = delete(scoreTable)..where((s) => s.matchId.equals(matchId)); final query = delete(scoreEntryTable)
..where((s) => s.matchId.equals(matchId));
final rowsAffected = await query.go(); final rowsAffected = await query.go();
return rowsAffected > 0; return rowsAffected > 0;
} }
@@ -173,7 +171,7 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
required String matchId, required String matchId,
required String playerId, required String playerId,
}) async { }) async {
final query = delete(scoreTable) final query = delete(scoreEntryTable)
..where((s) => s.playerId.equals(playerId) & s.matchId.equals(matchId)); ..where((s) => s.playerId.equals(playerId) & s.matchId.equals(matchId));
final rowsAffected = await query.go(); final rowsAffected = await query.go();
return rowsAffected > 0; return rowsAffected > 0;
@@ -182,7 +180,7 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
/// Gets the highest (latest) round number for a match. /// Gets the highest (latest) round number for a match.
/// Returns `null` if there are no scores for the match. /// Returns `null` if there are no scores for the match.
Future<int?> getLatestRoundNumber({required String matchId}) async { Future<int?> getLatestRoundNumber({required String matchId}) async {
final query = selectOnly(scoreTable) final query = selectOnly(scoreEntryTable)
..where(scoreTable.matchId.equals(matchId)) ..where(scoreTable.matchId.equals(matchId))
..addColumns([scoreTable.roundNumber.max()]); ..addColumns([scoreTable.roundNumber.max()]);
final result = await query.getSingle(); final result = await query.getSingle();
@@ -218,8 +216,8 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
deleteAllScoresForMatch(matchId: matchId); deleteAllScoresForMatch(matchId: matchId);
// Set the winner's score to 1 // Set the winner's score to 1
final rowsAffected = await into(scoreTable).insert( final rowsAffected = await into(scoreEntryTable).insert(
ScoreTableCompanion.insert( ScoreEntryTableCompanion.insert(
playerId: playerId, playerId: playerId,
matchId: matchId, matchId: matchId,
roundNumber: 0, roundNumber: 0,
@@ -234,7 +232,7 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
// Retrieves the winner of a match based on the highest score. // Retrieves the winner of a match based on the highest score.
Future<Player?> getWinner({required String matchId}) async { Future<Player?> getWinner({required String matchId}) async {
final query = select(scoreTable) final query = select(scoreEntryTable)
..where((s) => s.matchId.equals(matchId)) ..where((s) => s.matchId.equals(matchId))
..orderBy([(s) => OrderingTerm.desc(s.score)]) ..orderBy([(s) => OrderingTerm.desc(s.score)])
..limit(1); ..limit(1);
@@ -278,8 +276,8 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
deleteAllScoresForMatch(matchId: matchId); deleteAllScoresForMatch(matchId: matchId);
// Set the loosers score to 0 // Set the loosers score to 0
final rowsAffected = await into(scoreTable).insert( final rowsAffected = await into(scoreEntryTable).insert(
ScoreTableCompanion.insert( ScoreEntryTableCompanion.insert(
playerId: playerId, playerId: playerId,
matchId: matchId, matchId: matchId,
roundNumber: 0, roundNumber: 0,
@@ -294,7 +292,7 @@ class ScoreDao extends DatabaseAccessor<AppDatabase> with _$ScoreDaoMixin {
/// Retrieves the looser of a match based on the score 0. /// Retrieves the looser of a match based on the score 0.
Future<Player?> getLooser({required String matchId}) async { Future<Player?> getLooser({required String matchId}) async {
final query = select(scoreTable) final query = select(scoreEntryTable)
..where((s) => s.matchId.equals(matchId) & s.score.equals(0)); ..where((s) => s.matchId.equals(matchId) & s.score.equals(0));
final result = await query.getSingleOrNull(); final result = await query.getSingleOrNull();

View File

@@ -8,7 +8,7 @@ mixin _$ScoreDaoMixin on DatabaseAccessor<AppDatabase> {
$GameTableTable get gameTable => attachedDatabase.gameTable; $GameTableTable get gameTable => attachedDatabase.gameTable;
$GroupTableTable get groupTable => attachedDatabase.groupTable; $GroupTableTable get groupTable => attachedDatabase.groupTable;
$MatchTableTable get matchTable => attachedDatabase.matchTable; $MatchTableTable get matchTable => attachedDatabase.matchTable;
$ScoreTableTable get scoreTable => attachedDatabase.scoreTable; $ScoreEntryTableTable get scoreEntryTable => attachedDatabase.scoreEntryTable;
ScoreDaoManager get managers => ScoreDaoManager(this); ScoreDaoManager get managers => ScoreDaoManager(this);
} }
@@ -23,6 +23,9 @@ class ScoreDaoManager {
$$GroupTableTableTableManager(_db.attachedDatabase, _db.groupTable); $$GroupTableTableTableManager(_db.attachedDatabase, _db.groupTable);
$$MatchTableTableTableManager get matchTable => $$MatchTableTableTableManager get matchTable =>
$$MatchTableTableTableManager(_db.attachedDatabase, _db.matchTable); $$MatchTableTableTableManager(_db.attachedDatabase, _db.matchTable);
$$ScoreTableTableTableManager get scoreTable => $$ScoreEntryTableTableTableManager get scoreEntryTable =>
$$ScoreTableTableTableManager(_db.attachedDatabase, _db.scoreTable); $$ScoreEntryTableTableTableManager(
_db.attachedDatabase,
_db.scoreEntryTable,
);
} }

View File

@@ -15,7 +15,7 @@ import 'package:tallee/data/db/tables/match_table.dart';
import 'package:tallee/data/db/tables/player_group_table.dart'; import 'package:tallee/data/db/tables/player_group_table.dart';
import 'package:tallee/data/db/tables/player_match_table.dart'; import 'package:tallee/data/db/tables/player_match_table.dart';
import 'package:tallee/data/db/tables/player_table.dart'; import 'package:tallee/data/db/tables/player_table.dart';
import 'package:tallee/data/db/tables/score_table.dart'; import 'package:tallee/data/db/tables/score_entry_table.dart';
import 'package:tallee/data/db/tables/team_table.dart'; import 'package:tallee/data/db/tables/team_table.dart';
part 'database.g.dart'; part 'database.g.dart';
@@ -29,7 +29,7 @@ part 'database.g.dart';
PlayerMatchTable, PlayerMatchTable,
GameTable, GameTable,
TeamTable, TeamTable,
ScoreTable, ScoreEntryTable,
], ],
daos: [ daos: [
PlayerDao, PlayerDao,
@@ -39,7 +39,7 @@ part 'database.g.dart';
PlayerMatchDao, PlayerMatchDao,
GameDao, GameDao,
ScoreDao, ScoreDao,
TeamDao TeamDao,
], ],
) )
class AppDatabase extends _$AppDatabase { class AppDatabase extends _$AppDatabase {
@@ -60,7 +60,9 @@ class AppDatabase extends _$AppDatabase {
static QueryExecutor _openConnection() { static QueryExecutor _openConnection() {
return driftDatabase( return driftDatabase(
name: 'gametracker_db', name: 'gametracker_db',
native: const DriftNativeOptions(databaseDirectory: getApplicationSupportDirectory), native: const DriftNativeOptions(
databaseDirectory: getApplicationSupportDirectory,
),
); );
} }
} }

View File

@@ -2307,12 +2307,12 @@ class PlayerMatchTableCompanion extends UpdateCompanion<PlayerMatchTableData> {
} }
} }
class $ScoreTableTable extends ScoreTable class $ScoreEntryTableTable extends ScoreEntryTable
with TableInfo<$ScoreTableTable, ScoreTableData> { with TableInfo<$ScoreEntryTableTable, ScoreEntryTableData> {
@override @override
final GeneratedDatabase attachedDatabase; final GeneratedDatabase attachedDatabase;
final String? _alias; final String? _alias;
$ScoreTableTable(this.attachedDatabase, [this._alias]); $ScoreEntryTableTable(this.attachedDatabase, [this._alias]);
static const VerificationMeta _playerIdMeta = const VerificationMeta( static const VerificationMeta _playerIdMeta = const VerificationMeta(
'playerId', 'playerId',
); );
@@ -2382,10 +2382,10 @@ class $ScoreTableTable extends ScoreTable
String get aliasedName => _alias ?? actualTableName; String get aliasedName => _alias ?? actualTableName;
@override @override
String get actualTableName => $name; String get actualTableName => $name;
static const String $name = 'score_table'; static const String $name = 'score_entry_table';
@override @override
VerificationContext validateIntegrity( VerificationContext validateIntegrity(
Insertable<ScoreTableData> instance, { Insertable<ScoreEntryTableData> instance, {
bool isInserting = false, bool isInserting = false,
}) { }) {
final context = VerificationContext(); final context = VerificationContext();
@@ -2439,9 +2439,9 @@ class $ScoreTableTable extends ScoreTable
@override @override
Set<GeneratedColumn> get $primaryKey => {playerId, matchId, roundNumber}; Set<GeneratedColumn> get $primaryKey => {playerId, matchId, roundNumber};
@override @override
ScoreTableData map(Map<String, dynamic> data, {String? tablePrefix}) { ScoreEntryTableData map(Map<String, dynamic> data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return ScoreTableData( return ScoreEntryTableData(
playerId: attachedDatabase.typeMapping.read( playerId: attachedDatabase.typeMapping.read(
DriftSqlType.string, DriftSqlType.string,
data['${effectivePrefix}player_id'], data['${effectivePrefix}player_id'],
@@ -2466,18 +2466,19 @@ class $ScoreTableTable extends ScoreTable
} }
@override @override
$ScoreTableTable createAlias(String alias) { $ScoreEntryTableTable createAlias(String alias) {
return $ScoreTableTable(attachedDatabase, alias); return $ScoreEntryTableTable(attachedDatabase, alias);
} }
} }
class ScoreTableData extends DataClass implements Insertable<ScoreTableData> { class ScoreEntryTableData extends DataClass
implements Insertable<ScoreEntryTableData> {
final String playerId; final String playerId;
final String matchId; final String matchId;
final int roundNumber; final int roundNumber;
final int score; final int score;
final int change; final int change;
const ScoreTableData({ const ScoreEntryTableData({
required this.playerId, required this.playerId,
required this.matchId, required this.matchId,
required this.roundNumber, required this.roundNumber,
@@ -2495,8 +2496,8 @@ class ScoreTableData extends DataClass implements Insertable<ScoreTableData> {
return map; return map;
} }
ScoreTableCompanion toCompanion(bool nullToAbsent) { ScoreEntryTableCompanion toCompanion(bool nullToAbsent) {
return ScoreTableCompanion( return ScoreEntryTableCompanion(
playerId: Value(playerId), playerId: Value(playerId),
matchId: Value(matchId), matchId: Value(matchId),
roundNumber: Value(roundNumber), roundNumber: Value(roundNumber),
@@ -2505,12 +2506,12 @@ class ScoreTableData extends DataClass implements Insertable<ScoreTableData> {
); );
} }
factory ScoreTableData.fromJson( factory ScoreEntryTableData.fromJson(
Map<String, dynamic> json, { Map<String, dynamic> json, {
ValueSerializer? serializer, ValueSerializer? serializer,
}) { }) {
serializer ??= driftRuntimeOptions.defaultSerializer; serializer ??= driftRuntimeOptions.defaultSerializer;
return ScoreTableData( return ScoreEntryTableData(
playerId: serializer.fromJson<String>(json['playerId']), playerId: serializer.fromJson<String>(json['playerId']),
matchId: serializer.fromJson<String>(json['matchId']), matchId: serializer.fromJson<String>(json['matchId']),
roundNumber: serializer.fromJson<int>(json['roundNumber']), roundNumber: serializer.fromJson<int>(json['roundNumber']),
@@ -2530,21 +2531,21 @@ class ScoreTableData extends DataClass implements Insertable<ScoreTableData> {
}; };
} }
ScoreTableData copyWith({ ScoreEntryTableData copyWith({
String? playerId, String? playerId,
String? matchId, String? matchId,
int? roundNumber, int? roundNumber,
int? score, int? score,
int? change, int? change,
}) => ScoreTableData( }) => ScoreEntryTableData(
playerId: playerId ?? this.playerId, playerId: playerId ?? this.playerId,
matchId: matchId ?? this.matchId, matchId: matchId ?? this.matchId,
roundNumber: roundNumber ?? this.roundNumber, roundNumber: roundNumber ?? this.roundNumber,
score: score ?? this.score, score: score ?? this.score,
change: change ?? this.change, change: change ?? this.change,
); );
ScoreTableData copyWithCompanion(ScoreTableCompanion data) { ScoreEntryTableData copyWithCompanion(ScoreEntryTableCompanion data) {
return ScoreTableData( return ScoreEntryTableData(
playerId: data.playerId.present ? data.playerId.value : this.playerId, playerId: data.playerId.present ? data.playerId.value : this.playerId,
matchId: data.matchId.present ? data.matchId.value : this.matchId, matchId: data.matchId.present ? data.matchId.value : this.matchId,
roundNumber: data.roundNumber.present roundNumber: data.roundNumber.present
@@ -2557,7 +2558,7 @@ class ScoreTableData extends DataClass implements Insertable<ScoreTableData> {
@override @override
String toString() { String toString() {
return (StringBuffer('ScoreTableData(') return (StringBuffer('ScoreEntryTableData(')
..write('playerId: $playerId, ') ..write('playerId: $playerId, ')
..write('matchId: $matchId, ') ..write('matchId: $matchId, ')
..write('roundNumber: $roundNumber, ') ..write('roundNumber: $roundNumber, ')
@@ -2573,7 +2574,7 @@ class ScoreTableData extends DataClass implements Insertable<ScoreTableData> {
@override @override
bool operator ==(Object other) => bool operator ==(Object other) =>
identical(this, other) || identical(this, other) ||
(other is ScoreTableData && (other is ScoreEntryTableData &&
other.playerId == this.playerId && other.playerId == this.playerId &&
other.matchId == this.matchId && other.matchId == this.matchId &&
other.roundNumber == this.roundNumber && other.roundNumber == this.roundNumber &&
@@ -2581,14 +2582,14 @@ class ScoreTableData extends DataClass implements Insertable<ScoreTableData> {
other.change == this.change); other.change == this.change);
} }
class ScoreTableCompanion extends UpdateCompanion<ScoreTableData> { class ScoreEntryTableCompanion extends UpdateCompanion<ScoreEntryTableData> {
final Value<String> playerId; final Value<String> playerId;
final Value<String> matchId; final Value<String> matchId;
final Value<int> roundNumber; final Value<int> roundNumber;
final Value<int> score; final Value<int> score;
final Value<int> change; final Value<int> change;
final Value<int> rowid; final Value<int> rowid;
const ScoreTableCompanion({ const ScoreEntryTableCompanion({
this.playerId = const Value.absent(), this.playerId = const Value.absent(),
this.matchId = const Value.absent(), this.matchId = const Value.absent(),
this.roundNumber = const Value.absent(), this.roundNumber = const Value.absent(),
@@ -2596,7 +2597,7 @@ class ScoreTableCompanion extends UpdateCompanion<ScoreTableData> {
this.change = const Value.absent(), this.change = const Value.absent(),
this.rowid = const Value.absent(), this.rowid = const Value.absent(),
}); });
ScoreTableCompanion.insert({ ScoreEntryTableCompanion.insert({
required String playerId, required String playerId,
required String matchId, required String matchId,
required int roundNumber, required int roundNumber,
@@ -2608,7 +2609,7 @@ class ScoreTableCompanion extends UpdateCompanion<ScoreTableData> {
roundNumber = Value(roundNumber), roundNumber = Value(roundNumber),
score = Value(score), score = Value(score),
change = Value(change); change = Value(change);
static Insertable<ScoreTableData> custom({ static Insertable<ScoreEntryTableData> custom({
Expression<String>? playerId, Expression<String>? playerId,
Expression<String>? matchId, Expression<String>? matchId,
Expression<int>? roundNumber, Expression<int>? roundNumber,
@@ -2626,7 +2627,7 @@ class ScoreTableCompanion extends UpdateCompanion<ScoreTableData> {
}); });
} }
ScoreTableCompanion copyWith({ ScoreEntryTableCompanion copyWith({
Value<String>? playerId, Value<String>? playerId,
Value<String>? matchId, Value<String>? matchId,
Value<int>? roundNumber, Value<int>? roundNumber,
@@ -2634,7 +2635,7 @@ class ScoreTableCompanion extends UpdateCompanion<ScoreTableData> {
Value<int>? change, Value<int>? change,
Value<int>? rowid, Value<int>? rowid,
}) { }) {
return ScoreTableCompanion( return ScoreEntryTableCompanion(
playerId: playerId ?? this.playerId, playerId: playerId ?? this.playerId,
matchId: matchId ?? this.matchId, matchId: matchId ?? this.matchId,
roundNumber: roundNumber ?? this.roundNumber, roundNumber: roundNumber ?? this.roundNumber,
@@ -2670,7 +2671,7 @@ class ScoreTableCompanion extends UpdateCompanion<ScoreTableData> {
@override @override
String toString() { String toString() {
return (StringBuffer('ScoreTableCompanion(') return (StringBuffer('ScoreEntryTableCompanion(')
..write('playerId: $playerId, ') ..write('playerId: $playerId, ')
..write('matchId: $matchId, ') ..write('matchId: $matchId, ')
..write('roundNumber: $roundNumber, ') ..write('roundNumber: $roundNumber, ')
@@ -2696,7 +2697,9 @@ abstract class _$AppDatabase extends GeneratedDatabase {
late final $PlayerMatchTableTable playerMatchTable = $PlayerMatchTableTable( late final $PlayerMatchTableTable playerMatchTable = $PlayerMatchTableTable(
this, this,
); );
late final $ScoreTableTable scoreTable = $ScoreTableTable(this); late final $ScoreEntryTableTable scoreEntryTable = $ScoreEntryTableTable(
this,
);
late final PlayerDao playerDao = PlayerDao(this as AppDatabase); late final PlayerDao playerDao = PlayerDao(this as AppDatabase);
late final GroupDao groupDao = GroupDao(this as AppDatabase); late final GroupDao groupDao = GroupDao(this as AppDatabase);
late final MatchDao matchDao = MatchDao(this as AppDatabase); late final MatchDao matchDao = MatchDao(this as AppDatabase);
@@ -2721,7 +2724,7 @@ abstract class _$AppDatabase extends GeneratedDatabase {
playerGroupTable, playerGroupTable,
teamTable, teamTable,
playerMatchTable, playerMatchTable,
scoreTable, scoreEntryTable,
]; ];
@override @override
StreamQueryUpdateRules get streamUpdateRules => const StreamQueryUpdateRules([ StreamQueryUpdateRules get streamUpdateRules => const StreamQueryUpdateRules([
@@ -2772,14 +2775,14 @@ abstract class _$AppDatabase extends GeneratedDatabase {
'player_table', 'player_table',
limitUpdateKind: UpdateKind.delete, limitUpdateKind: UpdateKind.delete,
), ),
result: [TableUpdate('score_table', kind: UpdateKind.delete)], result: [TableUpdate('score_entry_table', kind: UpdateKind.delete)],
), ),
WritePropagation( WritePropagation(
on: TableUpdateQuery.onTableName( on: TableUpdateQuery.onTableName(
'match_table', 'match_table',
limitUpdateKind: UpdateKind.delete, limitUpdateKind: UpdateKind.delete,
), ),
result: [TableUpdate('score_table', kind: UpdateKind.delete)], result: [TableUpdate('score_entry_table', kind: UpdateKind.delete)],
), ),
]); ]);
} }
@@ -2851,19 +2854,24 @@ final class $$PlayerTableTableReferences
); );
} }
static MultiTypedResultKey<$ScoreTableTable, List<ScoreTableData>> static MultiTypedResultKey<$ScoreEntryTableTable, List<ScoreEntryTableData>>
_scoreTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( _scoreEntryTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable(
db.scoreTable, db.scoreEntryTable,
aliasName: $_aliasNameGenerator(db.playerTable.id, db.scoreTable.playerId), aliasName: $_aliasNameGenerator(
db.playerTable.id,
db.scoreEntryTable.playerId,
),
); );
$$ScoreTableTableProcessedTableManager get scoreTableRefs { $$ScoreEntryTableTableProcessedTableManager get scoreEntryTableRefs {
final manager = $$ScoreTableTableTableManager( final manager = $$ScoreEntryTableTableTableManager(
$_db, $_db,
$_db.scoreTable, $_db.scoreEntryTable,
).filter((f) => f.playerId.id.sqlEquals($_itemColumn<String>('id')!)); ).filter((f) => f.playerId.id.sqlEquals($_itemColumn<String>('id')!));
final cache = $_typedResult.readTableOrNull(_scoreTableRefsTable($_db)); final cache = $_typedResult.readTableOrNull(
_scoreEntryTableRefsTable($_db),
);
return ProcessedTableManager( return ProcessedTableManager(
manager.$state.copyWith(prefetchedData: cache), manager.$state.copyWith(prefetchedData: cache),
); );
@@ -2949,22 +2957,22 @@ class $$PlayerTableTableFilterComposer
return f(composer); return f(composer);
} }
Expression<bool> scoreTableRefs( Expression<bool> scoreEntryTableRefs(
Expression<bool> Function($$ScoreTableTableFilterComposer f) f, Expression<bool> Function($$ScoreEntryTableTableFilterComposer f) f,
) { ) {
final $$ScoreTableTableFilterComposer composer = $composerBuilder( final $$ScoreEntryTableTableFilterComposer composer = $composerBuilder(
composer: this, composer: this,
getCurrentColumn: (t) => t.id, getCurrentColumn: (t) => t.id,
referencedTable: $db.scoreTable, referencedTable: $db.scoreEntryTable,
getReferencedColumn: (t) => t.playerId, getReferencedColumn: (t) => t.playerId,
builder: builder:
( (
joinBuilder, { joinBuilder, {
$addJoinBuilderToRootComposer, $addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer, $removeJoinBuilderFromRootComposer,
}) => $$ScoreTableTableFilterComposer( }) => $$ScoreEntryTableTableFilterComposer(
$db: $db, $db: $db,
$table: $db.scoreTable, $table: $db.scoreEntryTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder, joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer:
@@ -3078,22 +3086,22 @@ class $$PlayerTableTableAnnotationComposer
return f(composer); return f(composer);
} }
Expression<T> scoreTableRefs<T extends Object>( Expression<T> scoreEntryTableRefs<T extends Object>(
Expression<T> Function($$ScoreTableTableAnnotationComposer a) f, Expression<T> Function($$ScoreEntryTableTableAnnotationComposer a) f,
) { ) {
final $$ScoreTableTableAnnotationComposer composer = $composerBuilder( final $$ScoreEntryTableTableAnnotationComposer composer = $composerBuilder(
composer: this, composer: this,
getCurrentColumn: (t) => t.id, getCurrentColumn: (t) => t.id,
referencedTable: $db.scoreTable, referencedTable: $db.scoreEntryTable,
getReferencedColumn: (t) => t.playerId, getReferencedColumn: (t) => t.playerId,
builder: builder:
( (
joinBuilder, { joinBuilder, {
$addJoinBuilderToRootComposer, $addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer, $removeJoinBuilderFromRootComposer,
}) => $$ScoreTableTableAnnotationComposer( }) => $$ScoreEntryTableTableAnnotationComposer(
$db: $db, $db: $db,
$table: $db.scoreTable, $table: $db.scoreEntryTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder, joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer:
@@ -3120,7 +3128,7 @@ class $$PlayerTableTableTableManager
PrefetchHooks Function({ PrefetchHooks Function({
bool playerGroupTableRefs, bool playerGroupTableRefs,
bool playerMatchTableRefs, bool playerMatchTableRefs,
bool scoreTableRefs, bool scoreEntryTableRefs,
}) })
> { > {
$$PlayerTableTableTableManager(_$AppDatabase db, $PlayerTableTable table) $$PlayerTableTableTableManager(_$AppDatabase db, $PlayerTableTable table)
@@ -3174,14 +3182,14 @@ class $$PlayerTableTableTableManager
({ ({
playerGroupTableRefs = false, playerGroupTableRefs = false,
playerMatchTableRefs = false, playerMatchTableRefs = false,
scoreTableRefs = false, scoreEntryTableRefs = false,
}) { }) {
return PrefetchHooks( return PrefetchHooks(
db: db, db: db,
explicitlyWatchedTables: [ explicitlyWatchedTables: [
if (playerGroupTableRefs) db.playerGroupTable, if (playerGroupTableRefs) db.playerGroupTable,
if (playerMatchTableRefs) db.playerMatchTable, if (playerMatchTableRefs) db.playerMatchTable,
if (scoreTableRefs) db.scoreTable, if (scoreEntryTableRefs) db.scoreEntryTable,
], ],
addJoins: null, addJoins: null,
getPrefetchedDataCallback: (items) async { getPrefetchedDataCallback: (items) async {
@@ -3228,21 +3236,21 @@ class $$PlayerTableTableTableManager
), ),
typedResults: items, typedResults: items,
), ),
if (scoreTableRefs) if (scoreEntryTableRefs)
await $_getPrefetchedData< await $_getPrefetchedData<
PlayerTableData, PlayerTableData,
$PlayerTableTable, $PlayerTableTable,
ScoreTableData ScoreEntryTableData
>( >(
currentTable: table, currentTable: table,
referencedTable: $$PlayerTableTableReferences referencedTable: $$PlayerTableTableReferences
._scoreTableRefsTable(db), ._scoreEntryTableRefsTable(db),
managerFromTypedResult: (p0) => managerFromTypedResult: (p0) =>
$$PlayerTableTableReferences( $$PlayerTableTableReferences(
db, db,
table, table,
p0, p0,
).scoreTableRefs, ).scoreEntryTableRefs,
referencedItemsForCurrentItem: referencedItemsForCurrentItem:
(item, referencedItems) => referencedItems.where( (item, referencedItems) => referencedItems.where(
(e) => e.playerId == item.id, (e) => e.playerId == item.id,
@@ -3272,7 +3280,7 @@ typedef $$PlayerTableTableProcessedTableManager =
PrefetchHooks Function({ PrefetchHooks Function({
bool playerGroupTableRefs, bool playerGroupTableRefs,
bool playerMatchTableRefs, bool playerMatchTableRefs,
bool scoreTableRefs, bool scoreEntryTableRefs,
}) })
>; >;
typedef $$GroupTableTableCreateCompanionBuilder = typedef $$GroupTableTableCreateCompanionBuilder =
@@ -4089,19 +4097,24 @@ final class $$MatchTableTableReferences
); );
} }
static MultiTypedResultKey<$ScoreTableTable, List<ScoreTableData>> static MultiTypedResultKey<$ScoreEntryTableTable, List<ScoreEntryTableData>>
_scoreTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable( _scoreEntryTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable(
db.scoreTable, db.scoreEntryTable,
aliasName: $_aliasNameGenerator(db.matchTable.id, db.scoreTable.matchId), aliasName: $_aliasNameGenerator(
db.matchTable.id,
db.scoreEntryTable.matchId,
),
); );
$$ScoreTableTableProcessedTableManager get scoreTableRefs { $$ScoreEntryTableTableProcessedTableManager get scoreEntryTableRefs {
final manager = $$ScoreTableTableTableManager( final manager = $$ScoreEntryTableTableTableManager(
$_db, $_db,
$_db.scoreTable, $_db.scoreEntryTable,
).filter((f) => f.matchId.id.sqlEquals($_itemColumn<String>('id')!)); ).filter((f) => f.matchId.id.sqlEquals($_itemColumn<String>('id')!));
final cache = $_typedResult.readTableOrNull(_scoreTableRefsTable($_db)); final cache = $_typedResult.readTableOrNull(
_scoreEntryTableRefsTable($_db),
);
return ProcessedTableManager( return ProcessedTableManager(
manager.$state.copyWith(prefetchedData: cache), manager.$state.copyWith(prefetchedData: cache),
); );
@@ -4213,22 +4226,22 @@ class $$MatchTableTableFilterComposer
return f(composer); return f(composer);
} }
Expression<bool> scoreTableRefs( Expression<bool> scoreEntryTableRefs(
Expression<bool> Function($$ScoreTableTableFilterComposer f) f, Expression<bool> Function($$ScoreEntryTableTableFilterComposer f) f,
) { ) {
final $$ScoreTableTableFilterComposer composer = $composerBuilder( final $$ScoreEntryTableTableFilterComposer composer = $composerBuilder(
composer: this, composer: this,
getCurrentColumn: (t) => t.id, getCurrentColumn: (t) => t.id,
referencedTable: $db.scoreTable, referencedTable: $db.scoreEntryTable,
getReferencedColumn: (t) => t.matchId, getReferencedColumn: (t) => t.matchId,
builder: builder:
( (
joinBuilder, { joinBuilder, {
$addJoinBuilderToRootComposer, $addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer, $removeJoinBuilderFromRootComposer,
}) => $$ScoreTableTableFilterComposer( }) => $$ScoreEntryTableTableFilterComposer(
$db: $db, $db: $db,
$table: $db.scoreTable, $table: $db.scoreEntryTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder, joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer:
@@ -4415,22 +4428,22 @@ class $$MatchTableTableAnnotationComposer
return f(composer); return f(composer);
} }
Expression<T> scoreTableRefs<T extends Object>( Expression<T> scoreEntryTableRefs<T extends Object>(
Expression<T> Function($$ScoreTableTableAnnotationComposer a) f, Expression<T> Function($$ScoreEntryTableTableAnnotationComposer a) f,
) { ) {
final $$ScoreTableTableAnnotationComposer composer = $composerBuilder( final $$ScoreEntryTableTableAnnotationComposer composer = $composerBuilder(
composer: this, composer: this,
getCurrentColumn: (t) => t.id, getCurrentColumn: (t) => t.id,
referencedTable: $db.scoreTable, referencedTable: $db.scoreEntryTable,
getReferencedColumn: (t) => t.matchId, getReferencedColumn: (t) => t.matchId,
builder: builder:
( (
joinBuilder, { joinBuilder, {
$addJoinBuilderToRootComposer, $addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer, $removeJoinBuilderFromRootComposer,
}) => $$ScoreTableTableAnnotationComposer( }) => $$ScoreEntryTableTableAnnotationComposer(
$db: $db, $db: $db,
$table: $db.scoreTable, $table: $db.scoreEntryTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer, $addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder, joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer: $removeJoinBuilderFromRootComposer:
@@ -4458,7 +4471,7 @@ class $$MatchTableTableTableManager
bool gameId, bool gameId,
bool groupId, bool groupId,
bool playerMatchTableRefs, bool playerMatchTableRefs,
bool scoreTableRefs, bool scoreEntryTableRefs,
}) })
> { > {
$$MatchTableTableTableManager(_$AppDatabase db, $MatchTableTable table) $$MatchTableTableTableManager(_$AppDatabase db, $MatchTableTable table)
@@ -4525,13 +4538,13 @@ class $$MatchTableTableTableManager
gameId = false, gameId = false,
groupId = false, groupId = false,
playerMatchTableRefs = false, playerMatchTableRefs = false,
scoreTableRefs = false, scoreEntryTableRefs = false,
}) { }) {
return PrefetchHooks( return PrefetchHooks(
db: db, db: db,
explicitlyWatchedTables: [ explicitlyWatchedTables: [
if (playerMatchTableRefs) db.playerMatchTable, if (playerMatchTableRefs) db.playerMatchTable,
if (scoreTableRefs) db.scoreTable, if (scoreEntryTableRefs) db.scoreEntryTable,
], ],
addJoins: addJoins:
< <
@@ -4603,21 +4616,21 @@ class $$MatchTableTableTableManager
), ),
typedResults: items, typedResults: items,
), ),
if (scoreTableRefs) if (scoreEntryTableRefs)
await $_getPrefetchedData< await $_getPrefetchedData<
MatchTableData, MatchTableData,
$MatchTableTable, $MatchTableTable,
ScoreTableData ScoreEntryTableData
>( >(
currentTable: table, currentTable: table,
referencedTable: $$MatchTableTableReferences referencedTable: $$MatchTableTableReferences
._scoreTableRefsTable(db), ._scoreEntryTableRefsTable(db),
managerFromTypedResult: (p0) => managerFromTypedResult: (p0) =>
$$MatchTableTableReferences( $$MatchTableTableReferences(
db, db,
table, table,
p0, p0,
).scoreTableRefs, ).scoreEntryTableRefs,
referencedItemsForCurrentItem: referencedItemsForCurrentItem:
(item, referencedItems) => referencedItems.where( (item, referencedItems) => referencedItems.where(
(e) => e.matchId == item.id, (e) => e.matchId == item.id,
@@ -4648,7 +4661,7 @@ typedef $$MatchTableTableProcessedTableManager =
bool gameId, bool gameId,
bool groupId, bool groupId,
bool playerMatchTableRefs, bool playerMatchTableRefs,
bool scoreTableRefs, bool scoreEntryTableRefs,
}) })
>; >;
typedef $$PlayerGroupTableTableCreateCompanionBuilder = typedef $$PlayerGroupTableTableCreateCompanionBuilder =
@@ -5761,8 +5774,8 @@ typedef $$PlayerMatchTableTableProcessedTableManager =
PlayerMatchTableData, PlayerMatchTableData,
PrefetchHooks Function({bool playerId, bool matchId, bool teamId}) PrefetchHooks Function({bool playerId, bool matchId, bool teamId})
>; >;
typedef $$ScoreTableTableCreateCompanionBuilder = typedef $$ScoreEntryTableTableCreateCompanionBuilder =
ScoreTableCompanion Function({ ScoreEntryTableCompanion Function({
required String playerId, required String playerId,
required String matchId, required String matchId,
required int roundNumber, required int roundNumber,
@@ -5770,8 +5783,8 @@ typedef $$ScoreTableTableCreateCompanionBuilder =
required int change, required int change,
Value<int> rowid, Value<int> rowid,
}); });
typedef $$ScoreTableTableUpdateCompanionBuilder = typedef $$ScoreEntryTableTableUpdateCompanionBuilder =
ScoreTableCompanion Function({ ScoreEntryTableCompanion Function({
Value<String> playerId, Value<String> playerId,
Value<String> matchId, Value<String> matchId,
Value<int> roundNumber, Value<int> roundNumber,
@@ -5780,13 +5793,22 @@ typedef $$ScoreTableTableUpdateCompanionBuilder =
Value<int> rowid, Value<int> rowid,
}); });
final class $$ScoreTableTableReferences final class $$ScoreEntryTableTableReferences
extends BaseReferences<_$AppDatabase, $ScoreTableTable, ScoreTableData> { extends
$$ScoreTableTableReferences(super.$_db, super.$_table, super.$_typedResult); BaseReferences<
_$AppDatabase,
$ScoreEntryTableTable,
ScoreEntryTableData
> {
$$ScoreEntryTableTableReferences(
super.$_db,
super.$_table,
super.$_typedResult,
);
static $PlayerTableTable _playerIdTable(_$AppDatabase db) => static $PlayerTableTable _playerIdTable(_$AppDatabase db) =>
db.playerTable.createAlias( db.playerTable.createAlias(
$_aliasNameGenerator(db.scoreTable.playerId, db.playerTable.id), $_aliasNameGenerator(db.scoreEntryTable.playerId, db.playerTable.id),
); );
$$PlayerTableTableProcessedTableManager get playerId { $$PlayerTableTableProcessedTableManager get playerId {
@@ -5805,7 +5827,7 @@ final class $$ScoreTableTableReferences
static $MatchTableTable _matchIdTable(_$AppDatabase db) => static $MatchTableTable _matchIdTable(_$AppDatabase db) =>
db.matchTable.createAlias( db.matchTable.createAlias(
$_aliasNameGenerator(db.scoreTable.matchId, db.matchTable.id), $_aliasNameGenerator(db.scoreEntryTable.matchId, db.matchTable.id),
); );
$$MatchTableTableProcessedTableManager get matchId { $$MatchTableTableProcessedTableManager get matchId {
@@ -5823,9 +5845,9 @@ final class $$ScoreTableTableReferences
} }
} }
class $$ScoreTableTableFilterComposer class $$ScoreEntryTableTableFilterComposer
extends Composer<_$AppDatabase, $ScoreTableTable> { extends Composer<_$AppDatabase, $ScoreEntryTableTable> {
$$ScoreTableTableFilterComposer({ $$ScoreEntryTableTableFilterComposer({
required super.$db, required super.$db,
required super.$table, required super.$table,
super.joinBuilder, super.joinBuilder,
@@ -5894,9 +5916,9 @@ class $$ScoreTableTableFilterComposer
} }
} }
class $$ScoreTableTableOrderingComposer class $$ScoreEntryTableTableOrderingComposer
extends Composer<_$AppDatabase, $ScoreTableTable> { extends Composer<_$AppDatabase, $ScoreEntryTableTable> {
$$ScoreTableTableOrderingComposer({ $$ScoreEntryTableTableOrderingComposer({
required super.$db, required super.$db,
required super.$table, required super.$table,
super.joinBuilder, super.joinBuilder,
@@ -5965,9 +5987,9 @@ class $$ScoreTableTableOrderingComposer
} }
} }
class $$ScoreTableTableAnnotationComposer class $$ScoreEntryTableTableAnnotationComposer
extends Composer<_$AppDatabase, $ScoreTableTable> { extends Composer<_$AppDatabase, $ScoreEntryTableTable> {
$$ScoreTableTableAnnotationComposer({ $$ScoreEntryTableTableAnnotationComposer({
required super.$db, required super.$db,
required super.$table, required super.$table,
super.joinBuilder, super.joinBuilder,
@@ -6032,32 +6054,34 @@ class $$ScoreTableTableAnnotationComposer
} }
} }
class $$ScoreTableTableTableManager class $$ScoreEntryTableTableTableManager
extends extends
RootTableManager< RootTableManager<
_$AppDatabase, _$AppDatabase,
$ScoreTableTable, $ScoreEntryTableTable,
ScoreTableData, ScoreEntryTableData,
$$ScoreTableTableFilterComposer, $$ScoreEntryTableTableFilterComposer,
$$ScoreTableTableOrderingComposer, $$ScoreEntryTableTableOrderingComposer,
$$ScoreTableTableAnnotationComposer, $$ScoreEntryTableTableAnnotationComposer,
$$ScoreTableTableCreateCompanionBuilder, $$ScoreEntryTableTableCreateCompanionBuilder,
$$ScoreTableTableUpdateCompanionBuilder, $$ScoreEntryTableTableUpdateCompanionBuilder,
(ScoreTableData, $$ScoreTableTableReferences), (ScoreEntryTableData, $$ScoreEntryTableTableReferences),
ScoreTableData, ScoreEntryTableData,
PrefetchHooks Function({bool playerId, bool matchId}) PrefetchHooks Function({bool playerId, bool matchId})
> { > {
$$ScoreTableTableTableManager(_$AppDatabase db, $ScoreTableTable table) $$ScoreEntryTableTableTableManager(
: super( _$AppDatabase db,
$ScoreEntryTableTable table,
) : super(
TableManagerState( TableManagerState(
db: db, db: db,
table: table, table: table,
createFilteringComposer: () => createFilteringComposer: () =>
$$ScoreTableTableFilterComposer($db: db, $table: table), $$ScoreEntryTableTableFilterComposer($db: db, $table: table),
createOrderingComposer: () => createOrderingComposer: () =>
$$ScoreTableTableOrderingComposer($db: db, $table: table), $$ScoreEntryTableTableOrderingComposer($db: db, $table: table),
createComputedFieldComposer: () => createComputedFieldComposer: () =>
$$ScoreTableTableAnnotationComposer($db: db, $table: table), $$ScoreEntryTableTableAnnotationComposer($db: db, $table: table),
updateCompanionCallback: updateCompanionCallback:
({ ({
Value<String> playerId = const Value.absent(), Value<String> playerId = const Value.absent(),
@@ -6066,7 +6090,7 @@ class $$ScoreTableTableTableManager
Value<int> score = const Value.absent(), Value<int> score = const Value.absent(),
Value<int> change = const Value.absent(), Value<int> change = const Value.absent(),
Value<int> rowid = const Value.absent(), Value<int> rowid = const Value.absent(),
}) => ScoreTableCompanion( }) => ScoreEntryTableCompanion(
playerId: playerId, playerId: playerId,
matchId: matchId, matchId: matchId,
roundNumber: roundNumber, roundNumber: roundNumber,
@@ -6082,7 +6106,7 @@ class $$ScoreTableTableTableManager
required int score, required int score,
required int change, required int change,
Value<int> rowid = const Value.absent(), Value<int> rowid = const Value.absent(),
}) => ScoreTableCompanion.insert( }) => ScoreEntryTableCompanion.insert(
playerId: playerId, playerId: playerId,
matchId: matchId, matchId: matchId,
roundNumber: roundNumber, roundNumber: roundNumber,
@@ -6094,7 +6118,7 @@ class $$ScoreTableTableTableManager
.map( .map(
(e) => ( (e) => (
e.readTable(table), e.readTable(table),
$$ScoreTableTableReferences(db, table, e), $$ScoreEntryTableTableReferences(db, table, e),
), ),
) )
.toList(), .toList(),
@@ -6123,9 +6147,11 @@ class $$ScoreTableTableTableManager
state.withJoin( state.withJoin(
currentTable: table, currentTable: table,
currentColumn: table.playerId, currentColumn: table.playerId,
referencedTable: $$ScoreTableTableReferences referencedTable:
$$ScoreEntryTableTableReferences
._playerIdTable(db), ._playerIdTable(db),
referencedColumn: $$ScoreTableTableReferences referencedColumn:
$$ScoreEntryTableTableReferences
._playerIdTable(db) ._playerIdTable(db)
.id, .id,
) )
@@ -6136,9 +6162,11 @@ class $$ScoreTableTableTableManager
state.withJoin( state.withJoin(
currentTable: table, currentTable: table,
currentColumn: table.matchId, currentColumn: table.matchId,
referencedTable: $$ScoreTableTableReferences referencedTable:
$$ScoreEntryTableTableReferences
._matchIdTable(db), ._matchIdTable(db),
referencedColumn: $$ScoreTableTableReferences referencedColumn:
$$ScoreEntryTableTableReferences
._matchIdTable(db) ._matchIdTable(db)
.id, .id,
) )
@@ -6156,18 +6184,18 @@ class $$ScoreTableTableTableManager
); );
} }
typedef $$ScoreTableTableProcessedTableManager = typedef $$ScoreEntryTableTableProcessedTableManager =
ProcessedTableManager< ProcessedTableManager<
_$AppDatabase, _$AppDatabase,
$ScoreTableTable, $ScoreEntryTableTable,
ScoreTableData, ScoreEntryTableData,
$$ScoreTableTableFilterComposer, $$ScoreEntryTableTableFilterComposer,
$$ScoreTableTableOrderingComposer, $$ScoreEntryTableTableOrderingComposer,
$$ScoreTableTableAnnotationComposer, $$ScoreEntryTableTableAnnotationComposer,
$$ScoreTableTableCreateCompanionBuilder, $$ScoreEntryTableTableCreateCompanionBuilder,
$$ScoreTableTableUpdateCompanionBuilder, $$ScoreEntryTableTableUpdateCompanionBuilder,
(ScoreTableData, $$ScoreTableTableReferences), (ScoreEntryTableData, $$ScoreEntryTableTableReferences),
ScoreTableData, ScoreEntryTableData,
PrefetchHooks Function({bool playerId, bool matchId}) PrefetchHooks Function({bool playerId, bool matchId})
>; >;
@@ -6188,6 +6216,6 @@ class $AppDatabaseManager {
$$TeamTableTableTableManager(_db, _db.teamTable); $$TeamTableTableTableManager(_db, _db.teamTable);
$$PlayerMatchTableTableTableManager get playerMatchTable => $$PlayerMatchTableTableTableManager get playerMatchTable =>
$$PlayerMatchTableTableTableManager(_db, _db.playerMatchTable); $$PlayerMatchTableTableTableManager(_db, _db.playerMatchTable);
$$ScoreTableTableTableManager get scoreTable => $$ScoreEntryTableTableTableManager get scoreEntryTable =>
$$ScoreTableTableTableManager(_db, _db.scoreTable); $$ScoreEntryTableTableTableManager(_db, _db.scoreEntryTable);
} }

View File

@@ -2,7 +2,7 @@ import 'package:drift/drift.dart';
import 'package:tallee/data/db/tables/match_table.dart'; import 'package:tallee/data/db/tables/match_table.dart';
import 'package:tallee/data/db/tables/player_table.dart'; import 'package:tallee/data/db/tables/player_table.dart';
class ScoreTable extends Table { class ScoreEntryTable extends Table {
TextColumn get playerId => TextColumn get playerId =>
text().references(PlayerTable, #id, onDelete: KeyAction.cascade)(); text().references(PlayerTable, #id, onDelete: KeyAction.cascade)();
TextColumn get matchId => TextColumn get matchId =>

View File

@@ -3,7 +3,7 @@ import 'package:tallee/core/enums.dart';
import 'package:tallee/data/models/game.dart'; import 'package:tallee/data/models/game.dart';
import 'package:tallee/data/models/group.dart'; import 'package:tallee/data/models/group.dart';
import 'package:tallee/data/models/player.dart'; import 'package:tallee/data/models/player.dart';
import 'package:tallee/data/models/score.dart'; import 'package:tallee/data/models/score_entry.dart';
import 'package:uuid/uuid.dart'; import 'package:uuid/uuid.dart';
class Match { class Match {
@@ -15,7 +15,7 @@ class Match {
final Group? group; final Group? group;
final List<Player> players; final List<Player> players;
final String notes; final String notes;
Map<String, List<Score>> scores; Map<String, List<ScoreEntry>> scores;
Player? winner; Player? winner;
Match({ Match({
@@ -27,7 +27,7 @@ class Match {
this.group, this.group,
this.players = const [], this.players = const [],
this.notes = '', this.notes = '',
Map<String, List<Score>>? scores, Map<String, List<ScoreEntry>>? scores,
this.winner, this.winner,
}) : id = id ?? const Uuid().v4(), }) : id = id ?? const Uuid().v4(),
createdAt = createdAt ?? clock.now(), createdAt = createdAt ?? clock.now(),

View File

@@ -1,18 +0,0 @@
class Score {
final int roundNumber;
int score = 0;
int change = 0;
Score({required this.roundNumber, required this.score, required this.change});
Score.fromJson(Map<String, dynamic> json)
: roundNumber = json['roundNumber'],
score = json['score'],
change = json['change'];
Map<String, dynamic> toJson() => {
'roundNumber': roundNumber,
'score': score,
'change': change,
};
}

View File

@@ -0,0 +1,22 @@
class ScoreEntry {
int roundNumber = 0;
final int score;
final int change;
ScoreEntry({
required this.roundNumber,
required this.score,
required this.change,
});
ScoreEntry.fromJson(Map<String, dynamic> json)
: roundNumber = json['roundNumber'],
score = json['score'],
change = json['change'];
Map<String, dynamic> toJson() => {
'roundNumber': roundNumber,
'score': score,
'change': change,
};
}

View File

@@ -267,21 +267,6 @@ void main() {
expect(players, isNull); expect(players, isNull);
}); });
test(
'updatePlayerScore returns false for non-existent player-match',
() async {
await database.matchDao.addMatch(match: testMatchOnlyGroup);
final updated = await database.scoreDao.updateScore(
matchId: testMatchOnlyGroup.id,
playerId: 'non-existent-player-id',
newScore: 50,
);
expect(updated, false);
},
);
test('Adding player with teamId works correctly', () async { test('Adding player with teamId works correctly', () async {
await database.matchDao.addMatch(match: testMatchOnlyGroup); await database.matchDao.addMatch(match: testMatchOnlyGroup);
await database.teamDao.addTeam(team: testTeam1); await database.teamDao.addTeam(team: testTeam1);

View File

@@ -7,7 +7,7 @@ import 'package:tallee/data/db/database.dart';
import 'package:tallee/data/models/game.dart'; import 'package:tallee/data/models/game.dart';
import 'package:tallee/data/models/match.dart'; import 'package:tallee/data/models/match.dart';
import 'package:tallee/data/models/player.dart'; import 'package:tallee/data/models/player.dart';
import 'package:tallee/data/models/score.dart'; import 'package:tallee/data/models/score_entry.dart';
void main() { void main() {
late AppDatabase database; late AppDatabase database;
@@ -69,12 +69,11 @@ void main() {
group('Score Tests', () { group('Score Tests', () {
group('Adding and Fetching scores', () { group('Adding and Fetching scores', () {
test('Single Score', () async { test('Single Score', () async {
ScoreEntry entry = ScoreEntry(roundNumber: 1, score: 10, change: 10);
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: entry,
score: 10,
change: 10,
); );
final score = await database.scoreDao.getScore( final score = await database.scoreDao.getScore(
@@ -91,13 +90,13 @@ void main() {
test('Multiple Scores', () async { test('Multiple Scores', () async {
final entryList = [ final entryList = [
Score(roundNumber: 1, score: 5, change: 5), ScoreEntry(roundNumber: 1, score: 5, change: 5),
Score(roundNumber: 2, score: 12, change: 7), ScoreEntry(roundNumber: 2, score: 12, change: 7),
Score(roundNumber: 3, score: 18, change: 6), ScoreEntry(roundNumber: 3, score: 18, change: 6),
]; ];
await database.scoreDao.addScoresAsList( await database.scoreDao.addScoresAsList(
scores: entryList, entrys: entryList,
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
); );
@@ -120,12 +119,11 @@ void main() {
group('Undesirable values', () { group('Undesirable values', () {
test('Score & Round can have negative values', () async { test('Score & Round can have negative values', () async {
ScoreEntry entry = ScoreEntry(roundNumber: -2, score: -10, change: -10);
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: -2, entry: entry,
score: -10,
change: -10,
); );
final score = await database.scoreDao.getScore( final score = await database.scoreDao.getScore(
@@ -141,12 +139,11 @@ void main() {
}); });
test('Score & Round can have zero values', () async { test('Score & Round can have zero values', () async {
ScoreEntry entry = ScoreEntry(roundNumber: 0, score: 0, change: 0);
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 0, entry: entry,
score: 0,
change: 0,
); );
final score = await database.scoreDao.getScore( final score = await database.scoreDao.getScore(
@@ -185,20 +182,17 @@ void main() {
}); });
test('Getting score for a non-match player returns null', () async { test('Getting score for a non-match player returns null', () async {
ScoreEntry entry = ScoreEntry(roundNumber: 1, score: 10, change: 10);
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: entry,
score: 10,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer3.id, playerId: testPlayer3.id,
matchId: testMatch2.id, matchId: testMatch2.id,
roundNumber: 1, entry: entry,
score: 10,
change: 10,
); );
var score = await database.scoreDao.getScore( var score = await database.scoreDao.getScore(
@@ -213,26 +207,23 @@ void main() {
group('Scores in matches', () { group('Scores in matches', () {
test('getAllMatchScores()', () async { test('getAllMatchScores()', () async {
ScoreEntry entry1 = ScoreEntry(roundNumber: 1, score: 10, change: 10);
ScoreEntry entry2 = ScoreEntry(roundNumber: 1, score: 20, change: 20);
ScoreEntry entry3 = ScoreEntry(roundNumber: 2, score: 25, change: 15);
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: entry1,
score: 10,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer2.id, playerId: testPlayer2.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: entry2,
score: 20,
change: 20,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 2, entry: entry3,
score: 25,
change: 15,
); );
final scores = await database.scoreDao.getAllMatchScores( final scores = await database.scoreDao.getAllMatchScores(
@@ -253,26 +244,18 @@ void main() {
}); });
test('getAllPlayerScoresInMatch()', () async { test('getAllPlayerScoresInMatch()', () async {
await database.scoreDao.addScore( ScoreEntry entry1 = ScoreEntry(roundNumber: 1, score: 10, change: 10);
ScoreEntry entry2 = ScoreEntry(roundNumber: 2, score: 25, change: 15);
ScoreEntry entry3 = ScoreEntry(roundNumber: 1, score: 30, change: 30);
await database.scoreDao.addScoresAsList(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entrys: [entry1, entry2],
score: 10,
change: 10,
);
await database.scoreDao.addScore(
playerId: testPlayer1.id,
matchId: testMatch1.id,
roundNumber: 2,
score: 25,
change: 15,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer2.id, playerId: testPlayer2.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: entry3,
score: 30,
change: 30,
); );
final playerScores = await database.scoreDao.getAllPlayerScoresInMatch( final playerScores = await database.scoreDao.getAllPlayerScoresInMatch(
@@ -299,19 +282,17 @@ void main() {
}); });
test('Scores are isolated across different matches', () async { test('Scores are isolated across different matches', () async {
ScoreEntry entry1 = ScoreEntry(roundNumber: 1, score: 10, change: 10);
ScoreEntry entry2 = ScoreEntry(roundNumber: 1, score: 50, change: 50);
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: entry1,
score: 10,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch2.id, matchId: testMatch2.id,
roundNumber: 1, entry: entry2,
score: 50,
change: 50,
); );
final match1Scores = await database.scoreDao.getAllPlayerScoresInMatch( final match1Scores = await database.scoreDao.getAllPlayerScoresInMatch(
@@ -336,28 +317,24 @@ void main() {
group('Updating scores', () { group('Updating scores', () {
test('updateScore()', () async { test('updateScore()', () async {
ScoreEntry entry1 = ScoreEntry(roundNumber: 1, score: 10, change: 10);
ScoreEntry entry2 = ScoreEntry(roundNumber: 2, score: 15, change: 5);
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: entry1,
score: 10,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 2, entry: entry2,
score: 15,
change: 5,
); );
final updated = await database.scoreDao.updateScore( final updated = await database.scoreDao.updateScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 2, newEntry: ScoreEntry(roundNumber: 2, score: 50, change: 40),
newScore: 50,
newChange: 40,
); );
expect(updated, true); expect(updated, true);
@@ -377,9 +354,7 @@ void main() {
final updated = await database.scoreDao.updateScore( final updated = await database.scoreDao.updateScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, newEntry: ScoreEntry(roundNumber: 1, score: 20, change: 20),
newScore: 20,
newChange: 20,
); );
expect(updated, false); expect(updated, false);
@@ -391,9 +366,7 @@ void main() {
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 10, change: 10),
score: 10,
change: 10,
); );
final deleted = await database.scoreDao.deleteScore( final deleted = await database.scoreDao.deleteScore(
@@ -427,23 +400,17 @@ void main() {
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 10, change: 10),
score: 10,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer2.id, playerId: testPlayer2.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 20, change: 20),
score: 20,
change: 20,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch2.id, matchId: testMatch2.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 15, change: 15),
score: 15,
change: 15,
); );
final deleted = await database.scoreDao.deleteAllScoresForMatch( final deleted = await database.scoreDao.deleteAllScoresForMatch(
@@ -467,25 +434,19 @@ void main() {
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 10, change: 10),
score: 10,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 2, entry: ScoreEntry(roundNumber: 2, score: 15, change: 5),
score: 15,
change: 5,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer2.id, playerId: testPlayer2.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 6, change: 6),
score: 6,
change: 6,
); );
final deleted = await database.scoreDao.deleteAllScoresForPlayerInMatch( final deleted = await database.scoreDao.deleteAllScoresForPlayerInMatch(
@@ -519,9 +480,7 @@ void main() {
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 10, change: 10),
score: 10,
change: 10,
); );
latestRound = await database.scoreDao.getLatestRoundNumber( latestRound = await database.scoreDao.getLatestRoundNumber(
@@ -532,9 +491,7 @@ void main() {
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 5, entry: ScoreEntry(roundNumber: 5, score: 50, change: 40),
score: 50,
change: 40,
); );
latestRound = await database.scoreDao.getLatestRoundNumber( latestRound = await database.scoreDao.getLatestRoundNumber(
@@ -547,23 +504,17 @@ void main() {
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 10, change: 10),
score: 10,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 5, entry: ScoreEntry(roundNumber: 5, score: 50, change: 40),
score: 50,
change: 40,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 3, entry: ScoreEntry(roundNumber: 3, score: 30, change: 20),
score: 30,
change: 20,
); );
final latestRound = await database.scoreDao.getLatestRoundNumber( final latestRound = await database.scoreDao.getLatestRoundNumber(
@@ -583,23 +534,17 @@ void main() {
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 10, change: 10),
score: 10,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 2, entry: ScoreEntry(roundNumber: 2, score: 25, change: 15),
score: 25,
change: 15,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 3, entry: ScoreEntry(roundNumber: 3, score: 40, change: 15),
score: 40,
change: 15,
); );
totalScore = await database.scoreDao.getTotalScoreForPlayer( totalScore = await database.scoreDao.getTotalScoreForPlayer(
@@ -613,23 +558,17 @@ void main() {
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 2, entry: ScoreEntry(roundNumber: 2, score: 25, change: 25),
score: 25,
change: 25,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 25, change: 10),
score: 25,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 3, entry: ScoreEntry(roundNumber: 3, score: 25, change: 25),
score: 25,
change: 25,
); );
final totalScore = await database.scoreDao.getTotalScoreForPlayer( final totalScore = await database.scoreDao.getTotalScoreForPlayer(
@@ -645,16 +584,12 @@ void main() {
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 10, change: 10),
score: 10,
change: 10,
); );
await database.scoreDao.addScore( await database.scoreDao.addScore(
playerId: testPlayer1.id, playerId: testPlayer1.id,
matchId: testMatch1.id, matchId: testMatch1.id,
roundNumber: 1, entry: ScoreEntry(roundNumber: 1, score: 20, change: 20),
score: 20,
change: 20,
); );
final score = await database.scoreDao.getScore( final score = await database.scoreDao.getScore(

View File

@@ -12,7 +12,7 @@ import 'package:tallee/data/models/game.dart';
import 'package:tallee/data/models/group.dart'; import 'package:tallee/data/models/group.dart';
import 'package:tallee/data/models/match.dart'; import 'package:tallee/data/models/match.dart';
import 'package:tallee/data/models/player.dart'; import 'package:tallee/data/models/player.dart';
import 'package:tallee/data/models/score.dart'; import 'package:tallee/data/models/score_entry.dart';
import 'package:tallee/data/models/team.dart'; import 'package:tallee/data/models/team.dart';
import 'package:tallee/services/data_transfer_service.dart'; import 'package:tallee/services/data_transfer_service.dart';
@@ -65,12 +65,12 @@ void main() {
notes: 'Test notes', notes: 'Test notes',
scores: { scores: {
testPlayer1.id: [ testPlayer1.id: [
Score(roundNumber: 1, score: 10, change: 10), ScoreEntry(roundNumber: 1, score: 10, change: 10),
Score(roundNumber: 2, score: 20, change: 10), ScoreEntry(roundNumber: 2, score: 20, change: 10),
], ],
testPlayer2.id: [ testPlayer2.id: [
Score(roundNumber: 1, score: 15, change: 15), ScoreEntry(roundNumber: 1, score: 15, change: 15),
Score(roundNumber: 2, score: 25, change: 10), ScoreEntry(roundNumber: 2, score: 25, change: 10),
], ],
}, },
); );
@@ -306,12 +306,12 @@ void main() {
(playerId, scoreList) => MapEntry( (playerId, scoreList) => MapEntry(
playerId, playerId,
(scoreList as List) (scoreList as List)
.map((s) => Score.fromJson(s as Map<String, dynamic>)) .map((s) => ScoreEntry.fromJson(s as Map<String, dynamic>))
.toList(), .toList(),
), ),
); );
expect(scores, isA<Map<String, List<Score>>>()); expect(scores, isA<Map<String, List<ScoreEntry>>>());
/* Player 1 scores */ /* Player 1 scores */
// General structure // General structure