From 8bd53a69c3a2cbc0796bcfdbf43d8b5d0031e738 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Sun, 19 Apr 2026 12:39:14 +0200 Subject: [PATCH 01/12] add soft delete parameter --- lib/data/db/tables/game_table.dart | 1 + lib/data/db/tables/group_table.dart | 1 + lib/data/db/tables/match_table.dart | 1 + lib/data/db/tables/player_group_table.dart | 1 + lib/data/db/tables/player_match_table.dart | 1 + lib/data/db/tables/player_table.dart | 1 + lib/data/db/tables/score_entry_table.dart | 1 + lib/data/db/tables/team_table.dart | 1 + 8 files changed, 8 insertions(+) diff --git a/lib/data/db/tables/game_table.dart b/lib/data/db/tables/game_table.dart index a55b8fc..5df111e 100644 --- a/lib/data/db/tables/game_table.dart +++ b/lib/data/db/tables/game_table.dart @@ -8,6 +8,7 @@ class GameTable extends Table { TextColumn get color => text()(); TextColumn get icon => text()(); DateTimeColumn get createdAt => dateTime()(); + BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {id}; diff --git a/lib/data/db/tables/group_table.dart b/lib/data/db/tables/group_table.dart index 2f30cce..db821b7 100644 --- a/lib/data/db/tables/group_table.dart +++ b/lib/data/db/tables/group_table.dart @@ -5,6 +5,7 @@ class GroupTable extends Table { TextColumn get name => text()(); TextColumn get description => text()(); DateTimeColumn get createdAt => dateTime()(); + BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {id}; diff --git a/lib/data/db/tables/match_table.dart b/lib/data/db/tables/match_table.dart index 25b0a73..dec86bc 100644 --- a/lib/data/db/tables/match_table.dart +++ b/lib/data/db/tables/match_table.dart @@ -15,6 +15,7 @@ class MatchTable extends Table { TextColumn get notes => text().nullable()(); DateTimeColumn get createdAt => dateTime()(); DateTimeColumn get endedAt => dateTime().nullable()(); + BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {id}; diff --git a/lib/data/db/tables/player_group_table.dart b/lib/data/db/tables/player_group_table.dart index 8d484ef..71ed9f0 100644 --- a/lib/data/db/tables/player_group_table.dart +++ b/lib/data/db/tables/player_group_table.dart @@ -7,6 +7,7 @@ class PlayerGroupTable extends Table { text().references(PlayerTable, #id, onDelete: KeyAction.cascade)(); TextColumn get groupId => text().references(GroupTable, #id, onDelete: KeyAction.cascade)(); + BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {playerId, groupId}; diff --git a/lib/data/db/tables/player_match_table.dart b/lib/data/db/tables/player_match_table.dart index 30412ab..d71f4c5 100644 --- a/lib/data/db/tables/player_match_table.dart +++ b/lib/data/db/tables/player_match_table.dart @@ -9,6 +9,7 @@ class PlayerMatchTable extends Table { TextColumn get matchId => text().references(MatchTable, #id, onDelete: KeyAction.cascade)(); TextColumn get teamId => text().references(TeamTable, #id).nullable()(); + BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {playerId, matchId}; diff --git a/lib/data/db/tables/player_table.dart b/lib/data/db/tables/player_table.dart index 15b29a5..3b98eba 100644 --- a/lib/data/db/tables/player_table.dart +++ b/lib/data/db/tables/player_table.dart @@ -5,6 +5,7 @@ class PlayerTable extends Table { TextColumn get name => text()(); TextColumn get description => text()(); DateTimeColumn get createdAt => dateTime()(); + BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {id}; diff --git a/lib/data/db/tables/score_entry_table.dart b/lib/data/db/tables/score_entry_table.dart index 7852125..aa56da1 100644 --- a/lib/data/db/tables/score_entry_table.dart +++ b/lib/data/db/tables/score_entry_table.dart @@ -10,6 +10,7 @@ class ScoreEntryTable extends Table { IntColumn get roundNumber => integer()(); IntColumn get score => integer()(); IntColumn get change => integer()(); + BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {playerId, matchId, roundNumber}; diff --git a/lib/data/db/tables/team_table.dart b/lib/data/db/tables/team_table.dart index b1a24a9..eacff85 100644 --- a/lib/data/db/tables/team_table.dart +++ b/lib/data/db/tables/team_table.dart @@ -4,6 +4,7 @@ class TeamTable extends Table { TextColumn get id => text()(); TextColumn get name => text()(); DateTimeColumn get createdAt => dateTime()(); + BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {id}; -- 2.49.1 From 66e657235a48c162fe37d0ced9106aecd6712344 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Thu, 30 Apr 2026 11:56:15 +0200 Subject: [PATCH 02/12] add deleted attribute --- lib/data/models/game.dart | 6 +++++- lib/data/models/group.dart | 6 +++++- lib/data/models/match.dart | 6 +++++- lib/data/models/player.dart | 6 +++++- lib/data/models/score_entry.dart | 7 +++++-- lib/data/models/team.dart | 6 +++++- 6 files changed, 30 insertions(+), 7 deletions(-) diff --git a/lib/data/models/game.dart b/lib/data/models/game.dart index 607db0a..42c3b33 100644 --- a/lib/data/models/game.dart +++ b/lib/data/models/game.dart @@ -10,6 +10,7 @@ class Game { final String description; final GameColor color; final String icon; + final bool deleted; Game({ String? id, @@ -19,6 +20,7 @@ class Game { String? description, required this.color, required this.icon, + this.deleted = false, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(), description = description ?? ''; @@ -39,7 +41,8 @@ class Game { ), description = json['description'], color = GameColor.values.firstWhere((e) => e.name == json['color']), - icon = json['icon']; + icon = json['icon'], + deleted = json['deleted'] ?? false; /// Converts the Game instance to a JSON object. Map toJson() => { @@ -50,5 +53,6 @@ class Game { 'description': description, 'color': color.name, 'icon': icon, + 'deleted': deleted, }; } diff --git a/lib/data/models/group.dart b/lib/data/models/group.dart index c684541..9433087 100644 --- a/lib/data/models/group.dart +++ b/lib/data/models/group.dart @@ -8,6 +8,7 @@ class Group { final String description; final DateTime createdAt; final List members; + final bool deleted; Group({ String? id, @@ -15,6 +16,7 @@ class Group { required this.name, String? description, required this.members, + this.deleted = false, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(), description = description ?? ''; @@ -31,7 +33,8 @@ class Group { createdAt = DateTime.parse(json['createdAt']), name = json['name'], description = json['description'], - members = []; + members = [], + deleted = json['deleted'] ?? false; /// Converts the Group instance to a JSON object. Related [Player] objects are /// represented by their IDs. @@ -41,5 +44,6 @@ class Group { 'name': name, 'description': description, 'memberIds': members.map((member) => member.id).toList(), + 'deleted': deleted, }; } diff --git a/lib/data/models/match.dart b/lib/data/models/match.dart index 2ff02d6..1cb8c60 100644 --- a/lib/data/models/match.dart +++ b/lib/data/models/match.dart @@ -16,6 +16,7 @@ class Match { final List players; final String notes; Map scores; + final bool deleted; Match({ required this.name, @@ -27,6 +28,7 @@ class Match { String? id, DateTime? createdAt, Map? scores, + this.deleted = false, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(), scores = scores ?? {for (Player p in players) p.id: null}; @@ -65,7 +67,8 @@ class Match { ), ) : {}, - notes = json['notes'] ?? ''; + notes = json['notes'] ?? '', + deleted = json['deleted'] ?? false; /// Converts the Match instance to a JSON object. Related objects are /// represented by their IDs, so the game, group, and players are not fully @@ -80,6 +83,7 @@ class Match { 'playerIds': players.map((player) => player.id).toList(), 'scores': scores.map((key, value) => MapEntry(key, value?.toJson())), 'notes': notes, + 'deleted': deleted, }; List get mvp { diff --git a/lib/data/models/player.dart b/lib/data/models/player.dart index 12d17f0..d7e5e33 100644 --- a/lib/data/models/player.dart +++ b/lib/data/models/player.dart @@ -7,6 +7,7 @@ class Player { final String name; int nameCount; final String description; + final bool deleted; Player({ String? id, @@ -14,6 +15,7 @@ class Player { required this.name, this.nameCount = 0, String? description, + this.deleted = false, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(), description = description ?? ''; @@ -29,7 +31,8 @@ class Player { createdAt = DateTime.parse(json['createdAt']), name = json['name'], nameCount = 0, - description = json['description']; + description = json['description'], + deleted = json['deleted'] ?? false; /// Converts the Player instance to a JSON object. Map toJson() => { @@ -37,5 +40,6 @@ class Player { 'createdAt': createdAt.toIso8601String(), 'name': name, 'description': description, + 'deleted': deleted, }; } diff --git a/lib/data/models/score_entry.dart b/lib/data/models/score_entry.dart index f9c5ff0..42924d3 100644 --- a/lib/data/models/score_entry.dart +++ b/lib/data/models/score_entry.dart @@ -2,8 +2,9 @@ class ScoreEntry { final int roundNumber; final int score; final int change; + final bool deleted; - ScoreEntry({required this.score, this.roundNumber = 0, this.change = 0}); + ScoreEntry({required this.score, this.roundNumber = 0, this.change = 0, this.deleted = false}); @override String toString() { @@ -13,11 +14,13 @@ class ScoreEntry { ScoreEntry.fromJson(Map json) : roundNumber = json['roundNumber'], score = json['score'], - change = json['change']; + change = json['change'], + deleted = json['deleted'] ?? false; Map toJson() => { 'roundNumber': roundNumber, 'score': score, 'change': change, + 'deleted': deleted, }; } diff --git a/lib/data/models/team.dart b/lib/data/models/team.dart index f5941c4..2dbe8dd 100644 --- a/lib/data/models/team.dart +++ b/lib/data/models/team.dart @@ -7,12 +7,14 @@ class Team { final String name; final DateTime createdAt; final List members; + final bool deleted; Team({ String? id, required this.name, DateTime? createdAt, required this.members, + this.deleted = false, }) : id = id ?? const Uuid().v4(), createdAt = createdAt ?? clock.now(); @@ -27,7 +29,8 @@ class Team { : id = json['id'], name = json['name'], createdAt = DateTime.parse(json['createdAt']), - members = []; // Populated during import via DataTransferService + members = [], + deleted = json['deleted'] ?? false; /// Converts the Team instance to a JSON object. Related objects are /// represented by their IDs. @@ -36,5 +39,6 @@ class Team { 'name': name, 'createdAt': createdAt.toIso8601String(), 'memberIds': members.map((member) => member.id).toList(), + 'deleted': deleted, }; } -- 2.49.1 From 421fe1a2bf5228493b1e14c94e4f540259643f30 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 5 May 2026 10:35:04 +0200 Subject: [PATCH 03/12] add deleted to schema --- assets/schema.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/assets/schema.json b/assets/schema.json index 6bcbe45..a3899dc 100644 --- a/assets/schema.json +++ b/assets/schema.json @@ -18,6 +18,9 @@ }, "description": { "type": "string" + }, + "deleted": { + "type": "boolean" } }, "additionalProperties": false, @@ -54,6 +57,9 @@ }, "icon": { "type": "string" + }, + "deleted": { + "type": "boolean" } }, "additionalProperties": false, @@ -90,6 +96,9 @@ "items": { "type": "string" } + }, + "deleted": { + "type": "boolean" } }, "additionalProperties": false, @@ -121,6 +130,9 @@ "items": { "type": "string" } + }, + "deleted": { + "type": "boolean" } }, "additionalProperties": false, @@ -195,6 +207,9 @@ }, "notes": { "type": "string" + }, + "deleted": { + "type": "boolean" } }, "additionalProperties": false, -- 2.49.1 From d3c9827529c112c532fa0479e56998976b64f33d Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 12 May 2026 20:20:40 +0200 Subject: [PATCH 04/12] remove useless deleted attributes --- lib/data/db/tables/player_group_table.dart | 1 - lib/data/db/tables/score_entry_table.dart | 1 - 2 files changed, 2 deletions(-) diff --git a/lib/data/db/tables/player_group_table.dart b/lib/data/db/tables/player_group_table.dart index 71ed9f0..8d484ef 100644 --- a/lib/data/db/tables/player_group_table.dart +++ b/lib/data/db/tables/player_group_table.dart @@ -7,7 +7,6 @@ class PlayerGroupTable extends Table { text().references(PlayerTable, #id, onDelete: KeyAction.cascade)(); TextColumn get groupId => text().references(GroupTable, #id, onDelete: KeyAction.cascade)(); - BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {playerId, groupId}; diff --git a/lib/data/db/tables/score_entry_table.dart b/lib/data/db/tables/score_entry_table.dart index aa56da1..7852125 100644 --- a/lib/data/db/tables/score_entry_table.dart +++ b/lib/data/db/tables/score_entry_table.dart @@ -10,7 +10,6 @@ class ScoreEntryTable extends Table { IntColumn get roundNumber => integer()(); IntColumn get score => integer()(); IntColumn get change => integer()(); - BoolColumn get deleted => boolean().withDefault(const Constant(false))(); @override Set> get primaryKey => {playerId, matchId, roundNumber}; -- 2.49.1 From b3b3def07a773d794c729e0c15ee7bc3f636b51a Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 12 May 2026 20:23:41 +0200 Subject: [PATCH 05/12] add deleted to schema --- assets/schema.json | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/assets/schema.json b/assets/schema.json index 7f6aebd..9fa980b 100644 --- a/assets/schema.json +++ b/assets/schema.json @@ -18,6 +18,9 @@ }, "description": { "type": "string" + }, + "deleted": { + "type": "boolean" } }, "additionalProperties": false, @@ -25,7 +28,8 @@ "id", "createdAt", "name", - "description" + "description", + "deleted" ] } }, @@ -54,6 +58,9 @@ }, "icon": { "type": "string" + }, + "deleted": { + "type": "boolean" } }, "additionalProperties": false, @@ -64,7 +71,8 @@ "ruleset", "description", "color", - "icon" + "icon", + "deleted" ] } }, @@ -90,6 +98,9 @@ "items": { "type": "string" } + }, + "deleted": { + "type": "boolean" } }, "additionalProperties": false, @@ -98,7 +109,8 @@ "name", "createdAt", "description", - "memberIds" + "memberIds", + "deleted" ] } }, @@ -168,6 +180,9 @@ }, "teams": { "type": ["array", "null"] + }, + "deleted": { + "type": "boolean" } }, "additionalProperties": false, @@ -177,7 +192,8 @@ "createdAt", "gameId", "playerIds", - "notes" + "notes", + "deleted" ] } } -- 2.49.1 From 36ad2ab446b87ba16ae9b5f428697ddbe0c27cb6 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 12 May 2026 20:30:46 +0200 Subject: [PATCH 06/12] deleted games get ignored when includeDeleted is false --- lib/data/dao/game_dao.dart | 43 +++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart index a4c2300..e8e2883 100644 --- a/lib/data/dao/game_dao.dart +++ b/lib/data/dao/game_dao.dart @@ -65,25 +65,40 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { /* Read */ /// Retrieves the total count of games in the database. - Future getGameCount() async { - final count = - await (selectOnly(gameTable)..addColumns([gameTable.id.count()])) - .map((row) => row.read(gameTable.id.count())) - .getSingle(); + /// By default, only returns non-deleted games. + Future getGameCount({bool includeDeleted = false}) async { + final query = selectOnly(gameTable)..addColumns([gameTable.id.count()]); + if (!includeDeleted) { + query.where(gameTable.deleted.equals(false)); + } + final count = await query + .map((row) => row.read(gameTable.id.count())) + .getSingle(); return count ?? 0; } /// Checks if a game with the given [gameId] exists in the database. + /// By default, only returns non-deleted games. /// Returns `true` if the game exists, `false` otherwise. - Future gameExists({required String gameId}) async { + Future gameExists({ + required String gameId, + bool includeDeleted = false, + }) async { final query = select(gameTable)..where((g) => g.id.equals(gameId)); + if (!includeDeleted) { + query.where((g) => g.deleted.equals(false)); + } final result = await query.getSingleOrNull(); return result != null; } /// Retrieves all games from the database. - Future> getAllGames() async { + /// By default, only returns non-deleted games. + Future> getAllGames({bool includeDeleted = false}) async { final query = select(gameTable); + if (!includeDeleted) { + query.where((g) => g.deleted.equals(false)); + } final result = await query.get(); return result .map( @@ -101,8 +116,15 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { } /// Retrieves a [Game] by its [gameId]. - Future getGameById({required String gameId}) async { + /// By default, only returns non-deleted games. + Future getGameById({ + required String gameId, + bool includeDeleted = false, + }) async { final query = select(gameTable)..where((g) => g.id.equals(gameId)); + if (!includeDeleted) { + query.where((g) => g.deleted.equals(false)); + } final result = await query.getSingle(); return Game( id: result.id, @@ -196,9 +218,10 @@ class GameDao extends DatabaseAccessor with _$GameDaoMixin { } /// Retrieves all games with their respective match counts. + /// By default, only returns non-deleted games. /// Returns a list of tuples (Game, matchCount). - Future> getGameUsage() async { - final games = await getAllGames(); + Future> getGameUsage({bool includeDeleted = false}) async { + final games = await getAllGames(includeDeleted: includeDeleted); final results = <(Game, int)>[]; -- 2.49.1 From 8f4254748bce1f1d7406ac58bff4f4b6c1f74b43 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 12 May 2026 20:33:02 +0200 Subject: [PATCH 07/12] deleted groups get ignored when includeDeleted is false --- lib/data/dao/group_dao.dart | 38 +++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/lib/data/dao/group_dao.dart b/lib/data/dao/group_dao.dart index bffe5a4..fdaa055 100644 --- a/lib/data/dao/group_dao.dart +++ b/lib/data/dao/group_dao.dart @@ -139,8 +139,12 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { /* Read */ /// Retrieves all groups from the database. - Future> getAllGroups() async { + /// By default, only returns non-deleted groups. + Future> getAllGroups({bool includeDeleted = false}) async { final query = select(groupTable); + if (!includeDeleted) { + query.where((g) => g.deleted.equals(false)); + } final result = await query.get(); return Future.wait( result.map((groupData) async { @@ -159,8 +163,15 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { } /// Retrieves a [Group] by its [groupId], including its members. - Future getGroupById({required String groupId}) async { + /// By default, only returns non-deleted groups. + Future getGroupById({ + required String groupId, + bool includeDeleted = false, + }) async { final query = select(groupTable)..where((g) => g.id.equals(groupId)); + if (!includeDeleted) { + query.where((g) => g.deleted.equals(false)); + } final result = await query.getSingle(); List members = await db.playerGroupDao.getPlayersOfGroup( @@ -177,18 +188,29 @@ class GroupDao extends DatabaseAccessor with _$GroupDaoMixin { } /// Retrieves the number of groups in the database. - Future getGroupCount() async { - final count = - await (selectOnly(groupTable)..addColumns([groupTable.id.count()])) - .map((row) => row.read(groupTable.id.count())) - .getSingle(); + /// By default, only returns non-deleted groups. + Future getGroupCount({bool includeDeleted = false}) async { + final query = selectOnly(groupTable)..addColumns([groupTable.id.count()]); + if (!includeDeleted) { + query.where(groupTable.deleted.equals(false)); + } + final count = await query + .map((row) => row.read(groupTable.id.count())) + .getSingle(); return count ?? 0; } /// Checks if a group with the given [groupId] exists in the database. + /// By default, only returns non-deleted groups. /// Returns `true` if the group exists, `false` otherwise. - Future groupExists({required String groupId}) async { + Future groupExists({ + required String groupId, + bool includeDeleted = false, + }) async { final query = select(groupTable)..where((g) => g.id.equals(groupId)); + if (!includeDeleted) { + query.where((g) => g.deleted.equals(false)); + } final result = await query.getSingleOrNull(); return result != null; } -- 2.49.1 From 0870f418d5ea663e03c3c39efe252ae20e951669 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 12 May 2026 20:35:09 +0200 Subject: [PATCH 08/12] deleted matches get ignored when includeDeleted is false --- lib/data/dao/match_dao.dart | 68 ++++++++++++++++++++++++++++--------- 1 file changed, 52 insertions(+), 16 deletions(-) diff --git a/lib/data/dao/match_dao.dart b/lib/data/dao/match_dao.dart index 88cca35..11a620b 100644 --- a/lib/data/dao/match_dao.dart +++ b/lib/data/dao/match_dao.dart @@ -255,25 +255,40 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { /* Read */ /// Checks if a match with the given [matchId] exists in the database. + /// By default, only returns non-deleted matches. /// Returns `true` if the match exists, otherwise `false`. - Future matchExists({required String matchId}) async { + Future matchExists({ + required String matchId, + bool includeDeleted = false, + }) async { final query = select(matchTable)..where((g) => g.id.equals(matchId)); + if (!includeDeleted) { + query.where((g) => g.deleted.equals(false)); + } final result = await query.getSingleOrNull(); return result != 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())) - .getSingle(); + /// By default, only returns non-deleted matches. + Future getMatchCount({bool includeDeleted = false}) async { + final query = selectOnly(matchTable)..addColumns([matchTable.id.count()]); + if (!includeDeleted) { + query.where(matchTable.deleted.equals(false)); + } + final count = await query + .map((row) => row.read(matchTable.id.count())) + .getSingle(); return count ?? 0; } /// Retrieves all matches from the database. - Future> getAllMatches() async { + /// By default, only returns non-deleted matches. + Future> getAllMatches({bool includeDeleted = false}) async { final query = select(matchTable); + if (!includeDeleted) { + query.where((m) => m.deleted.equals(false)); + } final result = await query.get(); return Future.wait( @@ -310,8 +325,15 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { } /// Retrieves a [Match] by its [matchId]. - Future getMatchById({required String matchId}) async { + /// By default, only returns non-deleted matches. + Future getMatchById({ + required String matchId, + bool includeDeleted = false, + }) async { final query = select(matchTable)..where((g) => g.id.equals(matchId)); + if (!includeDeleted) { + query.where((g) => g.deleted.equals(false)); + } final result = await query.getSingle(); final game = await db.gameDao.getGameById(gameId: result.gameId); @@ -342,20 +364,34 @@ class MatchDao extends DatabaseAccessor with _$MatchDaoMixin { } /// Retrieves the number of matches associated with a specific game. - Future getMatchCountByGame({required String gameId}) async { - final count = - await (selectOnly(matchTable) - ..where(matchTable.gameId.equals(gameId)) - ..addColumns([matchTable.id.count()])) - .map((row) => row.read(matchTable.id.count())) - .getSingle(); + /// By default, only returns non-deleted matches. + Future getMatchCountByGame({ + required String gameId, + bool includeDeleted = false, + }) async { + final query = selectOnly(matchTable) + ..where(matchTable.gameId.equals(gameId)); + if (!includeDeleted) { + query.where(matchTable.deleted.equals(false)); + } + query.addColumns([matchTable.id.count()]); + final count = await query + .map((row) => row.read(matchTable.id.count())) + .getSingle(); return count ?? 0; } /// Retrieves all matches associated with the given [groupId]. + /// By default, only returns non-deleted matches. /// Queries the database directly, filtering by [groupId]. - Future> getMatchesByGroup({required String groupId}) async { + Future> getMatchesByGroup({ + required String groupId, + bool includeDeleted = false, + }) async { final query = select(matchTable)..where((m) => m.groupId.equals(groupId)); + if (!includeDeleted) { + query.where((m) => m.deleted.equals(false)); + } final rows = await query.get(); return Future.wait( -- 2.49.1 From b1934e64bd3aa0723c4387797b3bd7226d48cbf1 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 12 May 2026 20:43:28 +0200 Subject: [PATCH 09/12] deleted players get ignored when includeDeleted is false --- lib/data/dao/player_dao.dart | 55 +++++++++++++++++++++++++++++------- 1 file changed, 45 insertions(+), 10 deletions(-) diff --git a/lib/data/dao/player_dao.dart b/lib/data/dao/player_dao.dart index 51e5845..332afb9 100644 --- a/lib/data/dao/player_dao.dart +++ b/lib/data/dao/player_dao.dart @@ -110,25 +110,40 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { /* Read */ /// Retrieves the total count of players in the database. - Future getPlayerCount() async { - final count = - await (selectOnly(playerTable)..addColumns([playerTable.id.count()])) - .map((row) => row.read(playerTable.id.count())) - .getSingle(); + /// By default, only returns non-deleted players. + Future getPlayerCount({bool includeDeleted = false}) async { + final query = selectOnly(playerTable)..addColumns([playerTable.id.count()]); + if (!includeDeleted) { + query.where(playerTable.deleted.equals(false)); + } + final count = await query + .map((row) => row.read(playerTable.id.count())) + .getSingle(); return count ?? 0; } /// Checks if a player with the given [playerId] exists in the database. + /// By default, only returns non-deleted players. /// Returns `true` if the player exists, `false` otherwise. - Future playerExists({required String playerId}) async { + Future playerExists({ + required String playerId, + bool includeDeleted = false, + }) async { final query = select(playerTable)..where((p) => p.id.equals(playerId)); + if (!includeDeleted) { + query.where((p) => p.deleted.equals(false)); + } final result = await query.getSingleOrNull(); return result != null; } /// Retrieves all players from the database. - Future> getAllPlayers() async { + /// By default, only returns non-deleted players. + Future> getAllPlayers({bool includeDeleted = false}) async { final query = select(playerTable); + if (!includeDeleted) { + query.where((p) => p.deleted.equals(false)); + } final result = await query.get(); return result .map( @@ -144,8 +159,15 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { } /// Retrieves a [Player] by their [id]. - Future getPlayerById({required String playerId}) async { + /// By default, only returns non-deleted players. + Future getPlayerById({ + required String playerId, + bool includeDeleted = false, + }) async { final query = select(playerTable)..where((p) => p.id.equals(playerId)); + if (!includeDeleted) { + query.where((p) => p.deleted.equals(false)); + } final result = await query.getSingle(); return Player( id: result.id, @@ -226,8 +248,15 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { /* Name count management */ /// Retrieves the count of players with the given [name]. - Future getNameCount({required String name}) async { + /// By default, only returns non-deleted players. + Future getNameCount({ + required String name, + bool includeDeleted = false, + }) async { final query = select(playerTable)..where((p) => p.name.equals(name)); + if (!includeDeleted) { + query.where((p) => p.deleted.equals(false)); + } final result = await query.get(); return result.length; } @@ -246,11 +275,17 @@ class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin { } @visibleForTesting - Future getPlayerWithHighestNameCount({required String name}) async { + Future getPlayerWithHighestNameCount({ + required String name, + bool includeDeleted = false, + }) async { final query = select(playerTable) ..where((p) => p.name.equals(name)) ..orderBy([(p) => OrderingTerm.desc(p.nameCount)]) ..limit(1); + if (!includeDeleted) { + query.where((p) => p.deleted.equals(false)); + } final result = await query.getSingleOrNull(); if (result != null) { return Player( -- 2.49.1 From a6e09712087ff4926d90f470a8bc0a6a5f8c9ac2 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 12 May 2026 20:45:12 +0200 Subject: [PATCH 10/12] deleted teams get ignored when includeDeleted is false --- lib/data/dao/team_dao.dart | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/lib/data/dao/team_dao.dart b/lib/data/dao/team_dao.dart index cba68fb..df51114 100644 --- a/lib/data/dao/team_dao.dart +++ b/lib/data/dao/team_dao.dart @@ -83,25 +83,40 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { /* Read */ /// Retrieves the total count of teams in the database. - Future getTeamCount() async { - final count = - await (selectOnly(teamTable)..addColumns([teamTable.id.count()])) - .map((row) => row.read(teamTable.id.count())) - .getSingle(); + /// By default, only returns non-deleted players. + Future getTeamCount({bool includeDeleted = false}) async { + final query = selectOnly(teamTable)..addColumns([teamTable.id.count()]); + if (!includeDeleted) { + query.where(teamTable.deleted.equals(false)); + } + final count = await query + .map((row) => row.read(teamTable.id.count())) + .getSingle(); return count ?? 0; } /// Checks if a team with the given [teamId] exists in the database. + /// By default, only returns non-deleted players. /// Returns `true` if the team exists, `false` otherwise. - Future teamExists({required String teamId}) async { + Future teamExists({ + required String teamId, + bool includeDeleted = false, + }) async { final query = select(teamTable)..where((t) => t.id.equals(teamId)); + if (!includeDeleted) { + query.where((t) => t.deleted.equals(false)); + } final result = await query.getSingleOrNull(); return result != null; } /// Retrieves all teams from the database. - Future> getAllTeams() async { + /// By default, only returns non-deleted players. + Future> getAllTeams({bool includeDeleted = false}) async { final query = select(teamTable); + if (!includeDeleted) { + query.where((t) => t.deleted.equals(false)); + } final result = await query.get(); return Future.wait( result.map((row) async { @@ -117,8 +132,15 @@ class TeamDao extends DatabaseAccessor with _$TeamDaoMixin { } /// Retrieves a [Team] by its [teamId], including its members. - Future getTeamById({required String teamId}) async { + /// By default, only returns non-deleted players. + Future getTeamById({ + required String teamId, + bool includeDeleted = false, + }) async { final query = select(teamTable)..where((t) => t.id.equals(teamId)); + if (!includeDeleted) { + query.where((t) => t.deleted.equals(false)); + } final result = await query.getSingle(); final members = await _getTeamMembers(teamId: teamId); return Team( -- 2.49.1 From c674c8e24870476d1dd6269065794b9dbc5916f5 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 12 May 2026 21:43:09 +0200 Subject: [PATCH 11/12] regenerate database.g.dart --- lib/data/db/database.g.dart | 409 +++++++++++++++++++++++++++++++++--- 1 file changed, 384 insertions(+), 25 deletions(-) diff --git a/lib/data/db/database.g.dart b/lib/data/db/database.g.dart index c8d0faa..9bbd20b 100644 --- a/lib/data/db/database.g.dart +++ b/lib/data/db/database.g.dart @@ -61,6 +61,21 @@ class $PlayerTableTable extends PlayerTable type: DriftSqlType.string, requiredDuringInsert: true, ); + static const VerificationMeta _deletedMeta = const VerificationMeta( + 'deleted', + ); + @override + late final GeneratedColumn deleted = GeneratedColumn( + 'deleted', + aliasedName, + false, + type: DriftSqlType.bool, + requiredDuringInsert: false, + defaultConstraints: GeneratedColumn.constraintIsAlways( + 'CHECK ("deleted" IN (0, 1))', + ), + defaultValue: const Constant(false), + ); @override List get $columns => [ id, @@ -68,6 +83,7 @@ class $PlayerTableTable extends PlayerTable name, nameCount, description, + deleted, ]; @override String get aliasedName => _alias ?? actualTableName; @@ -119,6 +135,12 @@ class $PlayerTableTable extends PlayerTable } else if (isInserting) { context.missing(_descriptionMeta); } + if (data.containsKey('deleted')) { + context.handle( + _deletedMeta, + deleted.isAcceptableOrUnknown(data['deleted']!, _deletedMeta), + ); + } return context; } @@ -148,6 +170,10 @@ class $PlayerTableTable extends PlayerTable DriftSqlType.string, data['${effectivePrefix}description'], )!, + deleted: attachedDatabase.typeMapping.read( + DriftSqlType.bool, + data['${effectivePrefix}deleted'], + )!, ); } @@ -163,12 +189,14 @@ class PlayerTableData extends DataClass implements Insertable { final String name; final int nameCount; final String description; + final bool deleted; const PlayerTableData({ required this.id, required this.createdAt, required this.name, required this.nameCount, required this.description, + required this.deleted, }); @override Map toColumns(bool nullToAbsent) { @@ -178,6 +206,7 @@ class PlayerTableData extends DataClass implements Insertable { map['name'] = Variable(name); map['name_count'] = Variable(nameCount); map['description'] = Variable(description); + map['deleted'] = Variable(deleted); return map; } @@ -188,6 +217,7 @@ class PlayerTableData extends DataClass implements Insertable { name: Value(name), nameCount: Value(nameCount), description: Value(description), + deleted: Value(deleted), ); } @@ -202,6 +232,7 @@ class PlayerTableData extends DataClass implements Insertable { name: serializer.fromJson(json['name']), nameCount: serializer.fromJson(json['nameCount']), description: serializer.fromJson(json['description']), + deleted: serializer.fromJson(json['deleted']), ); } @override @@ -213,6 +244,7 @@ class PlayerTableData extends DataClass implements Insertable { 'name': serializer.toJson(name), 'nameCount': serializer.toJson(nameCount), 'description': serializer.toJson(description), + 'deleted': serializer.toJson(deleted), }; } @@ -222,12 +254,14 @@ class PlayerTableData extends DataClass implements Insertable { String? name, int? nameCount, String? description, + bool? deleted, }) => PlayerTableData( id: id ?? this.id, createdAt: createdAt ?? this.createdAt, name: name ?? this.name, nameCount: nameCount ?? this.nameCount, description: description ?? this.description, + deleted: deleted ?? this.deleted, ); PlayerTableData copyWithCompanion(PlayerTableCompanion data) { return PlayerTableData( @@ -238,6 +272,7 @@ class PlayerTableData extends DataClass implements Insertable { description: data.description.present ? data.description.value : this.description, + deleted: data.deleted.present ? data.deleted.value : this.deleted, ); } @@ -248,13 +283,15 @@ class PlayerTableData extends DataClass implements Insertable { ..write('createdAt: $createdAt, ') ..write('name: $name, ') ..write('nameCount: $nameCount, ') - ..write('description: $description') + ..write('description: $description, ') + ..write('deleted: $deleted') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, createdAt, name, nameCount, description); + int get hashCode => + Object.hash(id, createdAt, name, nameCount, description, deleted); @override bool operator ==(Object other) => identical(this, other) || @@ -263,7 +300,8 @@ class PlayerTableData extends DataClass implements Insertable { other.createdAt == this.createdAt && other.name == this.name && other.nameCount == this.nameCount && - other.description == this.description); + other.description == this.description && + other.deleted == this.deleted); } class PlayerTableCompanion extends UpdateCompanion { @@ -272,6 +310,7 @@ class PlayerTableCompanion extends UpdateCompanion { final Value name; final Value nameCount; final Value description; + final Value deleted; final Value rowid; const PlayerTableCompanion({ this.id = const Value.absent(), @@ -279,6 +318,7 @@ class PlayerTableCompanion extends UpdateCompanion { this.name = const Value.absent(), this.nameCount = const Value.absent(), this.description = const Value.absent(), + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }); PlayerTableCompanion.insert({ @@ -287,6 +327,7 @@ class PlayerTableCompanion extends UpdateCompanion { required String name, this.nameCount = const Value.absent(), required String description, + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }) : id = Value(id), createdAt = Value(createdAt), @@ -298,6 +339,7 @@ class PlayerTableCompanion extends UpdateCompanion { Expression? name, Expression? nameCount, Expression? description, + Expression? deleted, Expression? rowid, }) { return RawValuesInsertable({ @@ -306,6 +348,7 @@ class PlayerTableCompanion extends UpdateCompanion { if (name != null) 'name': name, if (nameCount != null) 'name_count': nameCount, if (description != null) 'description': description, + if (deleted != null) 'deleted': deleted, if (rowid != null) 'rowid': rowid, }); } @@ -316,6 +359,7 @@ class PlayerTableCompanion extends UpdateCompanion { Value? name, Value? nameCount, Value? description, + Value? deleted, Value? rowid, }) { return PlayerTableCompanion( @@ -324,6 +368,7 @@ class PlayerTableCompanion extends UpdateCompanion { name: name ?? this.name, nameCount: nameCount ?? this.nameCount, description: description ?? this.description, + deleted: deleted ?? this.deleted, rowid: rowid ?? this.rowid, ); } @@ -346,6 +391,9 @@ class PlayerTableCompanion extends UpdateCompanion { if (description.present) { map['description'] = Variable(description.value); } + if (deleted.present) { + map['deleted'] = Variable(deleted.value); + } if (rowid.present) { map['rowid'] = Variable(rowid.value); } @@ -360,6 +408,7 @@ class PlayerTableCompanion extends UpdateCompanion { ..write('name: $name, ') ..write('nameCount: $nameCount, ') ..write('description: $description, ') + ..write('deleted: $deleted, ') ..write('rowid: $rowid') ..write(')')) .toString(); @@ -412,8 +461,29 @@ class $GroupTableTable extends GroupTable type: DriftSqlType.dateTime, requiredDuringInsert: true, ); + static const VerificationMeta _deletedMeta = const VerificationMeta( + 'deleted', + ); @override - List get $columns => [id, name, description, createdAt]; + late final GeneratedColumn deleted = GeneratedColumn( + 'deleted', + aliasedName, + false, + type: DriftSqlType.bool, + requiredDuringInsert: false, + defaultConstraints: GeneratedColumn.constraintIsAlways( + 'CHECK ("deleted" IN (0, 1))', + ), + defaultValue: const Constant(false), + ); + @override + List get $columns => [ + id, + name, + description, + createdAt, + deleted, + ]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -458,6 +528,12 @@ class $GroupTableTable extends GroupTable } else if (isInserting) { context.missing(_createdAtMeta); } + if (data.containsKey('deleted')) { + context.handle( + _deletedMeta, + deleted.isAcceptableOrUnknown(data['deleted']!, _deletedMeta), + ); + } return context; } @@ -483,6 +559,10 @@ class $GroupTableTable extends GroupTable DriftSqlType.dateTime, data['${effectivePrefix}created_at'], )!, + deleted: attachedDatabase.typeMapping.read( + DriftSqlType.bool, + data['${effectivePrefix}deleted'], + )!, ); } @@ -497,11 +577,13 @@ class GroupTableData extends DataClass implements Insertable { final String name; final String description; final DateTime createdAt; + final bool deleted; const GroupTableData({ required this.id, required this.name, required this.description, required this.createdAt, + required this.deleted, }); @override Map toColumns(bool nullToAbsent) { @@ -510,6 +592,7 @@ class GroupTableData extends DataClass implements Insertable { map['name'] = Variable(name); map['description'] = Variable(description); map['created_at'] = Variable(createdAt); + map['deleted'] = Variable(deleted); return map; } @@ -519,6 +602,7 @@ class GroupTableData extends DataClass implements Insertable { name: Value(name), description: Value(description), createdAt: Value(createdAt), + deleted: Value(deleted), ); } @@ -532,6 +616,7 @@ class GroupTableData extends DataClass implements Insertable { name: serializer.fromJson(json['name']), description: serializer.fromJson(json['description']), createdAt: serializer.fromJson(json['createdAt']), + deleted: serializer.fromJson(json['deleted']), ); } @override @@ -542,6 +627,7 @@ class GroupTableData extends DataClass implements Insertable { 'name': serializer.toJson(name), 'description': serializer.toJson(description), 'createdAt': serializer.toJson(createdAt), + 'deleted': serializer.toJson(deleted), }; } @@ -550,11 +636,13 @@ class GroupTableData extends DataClass implements Insertable { String? name, String? description, DateTime? createdAt, + bool? deleted, }) => GroupTableData( id: id ?? this.id, name: name ?? this.name, description: description ?? this.description, createdAt: createdAt ?? this.createdAt, + deleted: deleted ?? this.deleted, ); GroupTableData copyWithCompanion(GroupTableCompanion data) { return GroupTableData( @@ -564,6 +652,7 @@ class GroupTableData extends DataClass implements Insertable { ? data.description.value : this.description, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, + deleted: data.deleted.present ? data.deleted.value : this.deleted, ); } @@ -573,13 +662,14 @@ class GroupTableData extends DataClass implements Insertable { ..write('id: $id, ') ..write('name: $name, ') ..write('description: $description, ') - ..write('createdAt: $createdAt') + ..write('createdAt: $createdAt, ') + ..write('deleted: $deleted') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, name, description, createdAt); + int get hashCode => Object.hash(id, name, description, createdAt, deleted); @override bool operator ==(Object other) => identical(this, other) || @@ -587,7 +677,8 @@ class GroupTableData extends DataClass implements Insertable { other.id == this.id && other.name == this.name && other.description == this.description && - other.createdAt == this.createdAt); + other.createdAt == this.createdAt && + other.deleted == this.deleted); } class GroupTableCompanion extends UpdateCompanion { @@ -595,12 +686,14 @@ class GroupTableCompanion extends UpdateCompanion { final Value name; final Value description; final Value createdAt; + final Value deleted; final Value rowid; const GroupTableCompanion({ this.id = const Value.absent(), this.name = const Value.absent(), this.description = const Value.absent(), this.createdAt = const Value.absent(), + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }); GroupTableCompanion.insert({ @@ -608,6 +701,7 @@ class GroupTableCompanion extends UpdateCompanion { required String name, required String description, required DateTime createdAt, + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }) : id = Value(id), name = Value(name), @@ -618,6 +712,7 @@ class GroupTableCompanion extends UpdateCompanion { Expression? name, Expression? description, Expression? createdAt, + Expression? deleted, Expression? rowid, }) { return RawValuesInsertable({ @@ -625,6 +720,7 @@ class GroupTableCompanion extends UpdateCompanion { if (name != null) 'name': name, if (description != null) 'description': description, if (createdAt != null) 'created_at': createdAt, + if (deleted != null) 'deleted': deleted, if (rowid != null) 'rowid': rowid, }); } @@ -634,6 +730,7 @@ class GroupTableCompanion extends UpdateCompanion { Value? name, Value? description, Value? createdAt, + Value? deleted, Value? rowid, }) { return GroupTableCompanion( @@ -641,6 +738,7 @@ class GroupTableCompanion extends UpdateCompanion { name: name ?? this.name, description: description ?? this.description, createdAt: createdAt ?? this.createdAt, + deleted: deleted ?? this.deleted, rowid: rowid ?? this.rowid, ); } @@ -660,6 +758,9 @@ class GroupTableCompanion extends UpdateCompanion { if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } + if (deleted.present) { + map['deleted'] = Variable(deleted.value); + } if (rowid.present) { map['rowid'] = Variable(rowid.value); } @@ -673,6 +774,7 @@ class GroupTableCompanion extends UpdateCompanion { ..write('name: $name, ') ..write('description: $description, ') ..write('createdAt: $createdAt, ') + ..write('deleted: $deleted, ') ..write('rowid: $rowid') ..write(')')) .toString(); @@ -754,6 +856,21 @@ class $GameTableTable extends GameTable type: DriftSqlType.dateTime, requiredDuringInsert: true, ); + static const VerificationMeta _deletedMeta = const VerificationMeta( + 'deleted', + ); + @override + late final GeneratedColumn deleted = GeneratedColumn( + 'deleted', + aliasedName, + false, + type: DriftSqlType.bool, + requiredDuringInsert: false, + defaultConstraints: GeneratedColumn.constraintIsAlways( + 'CHECK ("deleted" IN (0, 1))', + ), + defaultValue: const Constant(false), + ); @override List get $columns => [ id, @@ -763,6 +880,7 @@ class $GameTableTable extends GameTable color, icon, createdAt, + deleted, ]; @override String get aliasedName => _alias ?? actualTableName; @@ -832,6 +950,12 @@ class $GameTableTable extends GameTable } else if (isInserting) { context.missing(_createdAtMeta); } + if (data.containsKey('deleted')) { + context.handle( + _deletedMeta, + deleted.isAcceptableOrUnknown(data['deleted']!, _deletedMeta), + ); + } return context; } @@ -869,6 +993,10 @@ class $GameTableTable extends GameTable DriftSqlType.dateTime, data['${effectivePrefix}created_at'], )!, + deleted: attachedDatabase.typeMapping.read( + DriftSqlType.bool, + data['${effectivePrefix}deleted'], + )!, ); } @@ -886,6 +1014,7 @@ class GameTableData extends DataClass implements Insertable { final String color; final String icon; final DateTime createdAt; + final bool deleted; const GameTableData({ required this.id, required this.name, @@ -894,6 +1023,7 @@ class GameTableData extends DataClass implements Insertable { required this.color, required this.icon, required this.createdAt, + required this.deleted, }); @override Map toColumns(bool nullToAbsent) { @@ -905,6 +1035,7 @@ class GameTableData extends DataClass implements Insertable { map['color'] = Variable(color); map['icon'] = Variable(icon); map['created_at'] = Variable(createdAt); + map['deleted'] = Variable(deleted); return map; } @@ -917,6 +1048,7 @@ class GameTableData extends DataClass implements Insertable { color: Value(color), icon: Value(icon), createdAt: Value(createdAt), + deleted: Value(deleted), ); } @@ -933,6 +1065,7 @@ class GameTableData extends DataClass implements Insertable { color: serializer.fromJson(json['color']), icon: serializer.fromJson(json['icon']), createdAt: serializer.fromJson(json['createdAt']), + deleted: serializer.fromJson(json['deleted']), ); } @override @@ -946,6 +1079,7 @@ class GameTableData extends DataClass implements Insertable { 'color': serializer.toJson(color), 'icon': serializer.toJson(icon), 'createdAt': serializer.toJson(createdAt), + 'deleted': serializer.toJson(deleted), }; } @@ -957,6 +1091,7 @@ class GameTableData extends DataClass implements Insertable { String? color, String? icon, DateTime? createdAt, + bool? deleted, }) => GameTableData( id: id ?? this.id, name: name ?? this.name, @@ -965,6 +1100,7 @@ class GameTableData extends DataClass implements Insertable { color: color ?? this.color, icon: icon ?? this.icon, createdAt: createdAt ?? this.createdAt, + deleted: deleted ?? this.deleted, ); GameTableData copyWithCompanion(GameTableCompanion data) { return GameTableData( @@ -977,6 +1113,7 @@ class GameTableData extends DataClass implements Insertable { color: data.color.present ? data.color.value : this.color, icon: data.icon.present ? data.icon.value : this.icon, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, + deleted: data.deleted.present ? data.deleted.value : this.deleted, ); } @@ -989,14 +1126,23 @@ class GameTableData extends DataClass implements Insertable { ..write('description: $description, ') ..write('color: $color, ') ..write('icon: $icon, ') - ..write('createdAt: $createdAt') + ..write('createdAt: $createdAt, ') + ..write('deleted: $deleted') ..write(')')) .toString(); } @override - int get hashCode => - Object.hash(id, name, ruleset, description, color, icon, createdAt); + int get hashCode => Object.hash( + id, + name, + ruleset, + description, + color, + icon, + createdAt, + deleted, + ); @override bool operator ==(Object other) => identical(this, other) || @@ -1007,7 +1153,8 @@ class GameTableData extends DataClass implements Insertable { other.description == this.description && other.color == this.color && other.icon == this.icon && - other.createdAt == this.createdAt); + other.createdAt == this.createdAt && + other.deleted == this.deleted); } class GameTableCompanion extends UpdateCompanion { @@ -1018,6 +1165,7 @@ class GameTableCompanion extends UpdateCompanion { final Value color; final Value icon; final Value createdAt; + final Value deleted; final Value rowid; const GameTableCompanion({ this.id = const Value.absent(), @@ -1027,6 +1175,7 @@ class GameTableCompanion extends UpdateCompanion { this.color = const Value.absent(), this.icon = const Value.absent(), this.createdAt = const Value.absent(), + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }); GameTableCompanion.insert({ @@ -1037,6 +1186,7 @@ class GameTableCompanion extends UpdateCompanion { required String color, required String icon, required DateTime createdAt, + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }) : id = Value(id), name = Value(name), @@ -1053,6 +1203,7 @@ class GameTableCompanion extends UpdateCompanion { Expression? color, Expression? icon, Expression? createdAt, + Expression? deleted, Expression? rowid, }) { return RawValuesInsertable({ @@ -1063,6 +1214,7 @@ class GameTableCompanion extends UpdateCompanion { if (color != null) 'color': color, if (icon != null) 'icon': icon, if (createdAt != null) 'created_at': createdAt, + if (deleted != null) 'deleted': deleted, if (rowid != null) 'rowid': rowid, }); } @@ -1075,6 +1227,7 @@ class GameTableCompanion extends UpdateCompanion { Value? color, Value? icon, Value? createdAt, + Value? deleted, Value? rowid, }) { return GameTableCompanion( @@ -1085,6 +1238,7 @@ class GameTableCompanion extends UpdateCompanion { color: color ?? this.color, icon: icon ?? this.icon, createdAt: createdAt ?? this.createdAt, + deleted: deleted ?? this.deleted, rowid: rowid ?? this.rowid, ); } @@ -1113,6 +1267,9 @@ class GameTableCompanion extends UpdateCompanion { if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } + if (deleted.present) { + map['deleted'] = Variable(deleted.value); + } if (rowid.present) { map['rowid'] = Variable(rowid.value); } @@ -1129,6 +1286,7 @@ class GameTableCompanion extends UpdateCompanion { ..write('color: $color, ') ..write('icon: $icon, ') ..write('createdAt: $createdAt, ') + ..write('deleted: $deleted, ') ..write('rowid: $rowid') ..write(')')) .toString(); @@ -1216,6 +1374,21 @@ class $MatchTableTable extends MatchTable type: DriftSqlType.dateTime, requiredDuringInsert: false, ); + static const VerificationMeta _deletedMeta = const VerificationMeta( + 'deleted', + ); + @override + late final GeneratedColumn deleted = GeneratedColumn( + 'deleted', + aliasedName, + false, + type: DriftSqlType.bool, + requiredDuringInsert: false, + defaultConstraints: GeneratedColumn.constraintIsAlways( + 'CHECK ("deleted" IN (0, 1))', + ), + defaultValue: const Constant(false), + ); @override List get $columns => [ id, @@ -1225,6 +1398,7 @@ class $MatchTableTable extends MatchTable notes, createdAt, endedAt, + deleted, ]; @override String get aliasedName => _alias ?? actualTableName; @@ -1287,6 +1461,12 @@ class $MatchTableTable extends MatchTable endedAt.isAcceptableOrUnknown(data['ended_at']!, _endedAtMeta), ); } + if (data.containsKey('deleted')) { + context.handle( + _deletedMeta, + deleted.isAcceptableOrUnknown(data['deleted']!, _deletedMeta), + ); + } return context; } @@ -1324,6 +1504,10 @@ class $MatchTableTable extends MatchTable DriftSqlType.dateTime, data['${effectivePrefix}ended_at'], ), + deleted: attachedDatabase.typeMapping.read( + DriftSqlType.bool, + data['${effectivePrefix}deleted'], + )!, ); } @@ -1341,6 +1525,7 @@ class MatchTableData extends DataClass implements Insertable { final String notes; final DateTime createdAt; final DateTime? endedAt; + final bool deleted; const MatchTableData({ required this.id, required this.gameId, @@ -1349,6 +1534,7 @@ class MatchTableData extends DataClass implements Insertable { required this.notes, required this.createdAt, this.endedAt, + required this.deleted, }); @override Map toColumns(bool nullToAbsent) { @@ -1364,6 +1550,7 @@ class MatchTableData extends DataClass implements Insertable { if (!nullToAbsent || endedAt != null) { map['ended_at'] = Variable(endedAt); } + map['deleted'] = Variable(deleted); return map; } @@ -1380,6 +1567,7 @@ class MatchTableData extends DataClass implements Insertable { endedAt: endedAt == null && nullToAbsent ? const Value.absent() : Value(endedAt), + deleted: Value(deleted), ); } @@ -1396,6 +1584,7 @@ class MatchTableData extends DataClass implements Insertable { notes: serializer.fromJson(json['notes']), createdAt: serializer.fromJson(json['createdAt']), endedAt: serializer.fromJson(json['endedAt']), + deleted: serializer.fromJson(json['deleted']), ); } @override @@ -1409,6 +1598,7 @@ class MatchTableData extends DataClass implements Insertable { 'notes': serializer.toJson(notes), 'createdAt': serializer.toJson(createdAt), 'endedAt': serializer.toJson(endedAt), + 'deleted': serializer.toJson(deleted), }; } @@ -1420,6 +1610,7 @@ class MatchTableData extends DataClass implements Insertable { String? notes, DateTime? createdAt, Value endedAt = const Value.absent(), + bool? deleted, }) => MatchTableData( id: id ?? this.id, gameId: gameId ?? this.gameId, @@ -1428,6 +1619,7 @@ class MatchTableData extends DataClass implements Insertable { notes: notes ?? this.notes, createdAt: createdAt ?? this.createdAt, endedAt: endedAt.present ? endedAt.value : this.endedAt, + deleted: deleted ?? this.deleted, ); MatchTableData copyWithCompanion(MatchTableCompanion data) { return MatchTableData( @@ -1438,6 +1630,7 @@ class MatchTableData extends DataClass implements Insertable { notes: data.notes.present ? data.notes.value : this.notes, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, endedAt: data.endedAt.present ? data.endedAt.value : this.endedAt, + deleted: data.deleted.present ? data.deleted.value : this.deleted, ); } @@ -1450,14 +1643,23 @@ class MatchTableData extends DataClass implements Insertable { ..write('name: $name, ') ..write('notes: $notes, ') ..write('createdAt: $createdAt, ') - ..write('endedAt: $endedAt') + ..write('endedAt: $endedAt, ') + ..write('deleted: $deleted') ..write(')')) .toString(); } @override - int get hashCode => - Object.hash(id, gameId, groupId, name, notes, createdAt, endedAt); + int get hashCode => Object.hash( + id, + gameId, + groupId, + name, + notes, + createdAt, + endedAt, + deleted, + ); @override bool operator ==(Object other) => identical(this, other) || @@ -1468,7 +1670,8 @@ class MatchTableData extends DataClass implements Insertable { other.name == this.name && other.notes == this.notes && other.createdAt == this.createdAt && - other.endedAt == this.endedAt); + other.endedAt == this.endedAt && + other.deleted == this.deleted); } class MatchTableCompanion extends UpdateCompanion { @@ -1479,6 +1682,7 @@ class MatchTableCompanion extends UpdateCompanion { final Value notes; final Value createdAt; final Value endedAt; + final Value deleted; final Value rowid; const MatchTableCompanion({ this.id = const Value.absent(), @@ -1488,6 +1692,7 @@ class MatchTableCompanion extends UpdateCompanion { this.notes = const Value.absent(), this.createdAt = const Value.absent(), this.endedAt = const Value.absent(), + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }); MatchTableCompanion.insert({ @@ -1498,6 +1703,7 @@ class MatchTableCompanion extends UpdateCompanion { required String notes, required DateTime createdAt, this.endedAt = const Value.absent(), + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }) : id = Value(id), gameId = Value(gameId), @@ -1512,6 +1718,7 @@ class MatchTableCompanion extends UpdateCompanion { Expression? notes, Expression? createdAt, Expression? endedAt, + Expression? deleted, Expression? rowid, }) { return RawValuesInsertable({ @@ -1522,6 +1729,7 @@ class MatchTableCompanion extends UpdateCompanion { if (notes != null) 'notes': notes, if (createdAt != null) 'created_at': createdAt, if (endedAt != null) 'ended_at': endedAt, + if (deleted != null) 'deleted': deleted, if (rowid != null) 'rowid': rowid, }); } @@ -1534,6 +1742,7 @@ class MatchTableCompanion extends UpdateCompanion { Value? notes, Value? createdAt, Value? endedAt, + Value? deleted, Value? rowid, }) { return MatchTableCompanion( @@ -1544,6 +1753,7 @@ class MatchTableCompanion extends UpdateCompanion { notes: notes ?? this.notes, createdAt: createdAt ?? this.createdAt, endedAt: endedAt ?? this.endedAt, + deleted: deleted ?? this.deleted, rowid: rowid ?? this.rowid, ); } @@ -1572,6 +1782,9 @@ class MatchTableCompanion extends UpdateCompanion { if (endedAt.present) { map['ended_at'] = Variable(endedAt.value); } + if (deleted.present) { + map['deleted'] = Variable(deleted.value); + } if (rowid.present) { map['rowid'] = Variable(rowid.value); } @@ -1588,6 +1801,7 @@ class MatchTableCompanion extends UpdateCompanion { ..write('notes: $notes, ') ..write('createdAt: $createdAt, ') ..write('endedAt: $endedAt, ') + ..write('deleted: $deleted, ') ..write('rowid: $rowid') ..write(')')) .toString(); @@ -1854,8 +2068,23 @@ class $TeamTableTable extends TeamTable type: DriftSqlType.dateTime, requiredDuringInsert: true, ); + static const VerificationMeta _deletedMeta = const VerificationMeta( + 'deleted', + ); @override - List get $columns => [id, name, createdAt]; + late final GeneratedColumn deleted = GeneratedColumn( + 'deleted', + aliasedName, + false, + type: DriftSqlType.bool, + requiredDuringInsert: false, + defaultConstraints: GeneratedColumn.constraintIsAlways( + 'CHECK ("deleted" IN (0, 1))', + ), + defaultValue: const Constant(false), + ); + @override + List get $columns => [id, name, createdAt, deleted]; @override String get aliasedName => _alias ?? actualTableName; @override @@ -1889,6 +2118,12 @@ class $TeamTableTable extends TeamTable } else if (isInserting) { context.missing(_createdAtMeta); } + if (data.containsKey('deleted')) { + context.handle( + _deletedMeta, + deleted.isAcceptableOrUnknown(data['deleted']!, _deletedMeta), + ); + } return context; } @@ -1910,6 +2145,10 @@ class $TeamTableTable extends TeamTable DriftSqlType.dateTime, data['${effectivePrefix}created_at'], )!, + deleted: attachedDatabase.typeMapping.read( + DriftSqlType.bool, + data['${effectivePrefix}deleted'], + )!, ); } @@ -1923,10 +2162,12 @@ class TeamTableData extends DataClass implements Insertable { final String id; final String name; final DateTime createdAt; + final bool deleted; const TeamTableData({ required this.id, required this.name, required this.createdAt, + required this.deleted, }); @override Map toColumns(bool nullToAbsent) { @@ -1934,6 +2175,7 @@ class TeamTableData extends DataClass implements Insertable { map['id'] = Variable(id); map['name'] = Variable(name); map['created_at'] = Variable(createdAt); + map['deleted'] = Variable(deleted); return map; } @@ -1942,6 +2184,7 @@ class TeamTableData extends DataClass implements Insertable { id: Value(id), name: Value(name), createdAt: Value(createdAt), + deleted: Value(deleted), ); } @@ -1954,6 +2197,7 @@ class TeamTableData extends DataClass implements Insertable { id: serializer.fromJson(json['id']), name: serializer.fromJson(json['name']), createdAt: serializer.fromJson(json['createdAt']), + deleted: serializer.fromJson(json['deleted']), ); } @override @@ -1963,20 +2207,27 @@ class TeamTableData extends DataClass implements Insertable { 'id': serializer.toJson(id), 'name': serializer.toJson(name), 'createdAt': serializer.toJson(createdAt), + 'deleted': serializer.toJson(deleted), }; } - TeamTableData copyWith({String? id, String? name, DateTime? createdAt}) => - TeamTableData( - id: id ?? this.id, - name: name ?? this.name, - createdAt: createdAt ?? this.createdAt, - ); + TeamTableData copyWith({ + String? id, + String? name, + DateTime? createdAt, + bool? deleted, + }) => TeamTableData( + id: id ?? this.id, + name: name ?? this.name, + createdAt: createdAt ?? this.createdAt, + deleted: deleted ?? this.deleted, + ); TeamTableData copyWithCompanion(TeamTableCompanion data) { return TeamTableData( id: data.id.present ? data.id.value : this.id, name: data.name.present ? data.name.value : this.name, createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt, + deleted: data.deleted.present ? data.deleted.value : this.deleted, ); } @@ -1985,37 +2236,42 @@ class TeamTableData extends DataClass implements Insertable { return (StringBuffer('TeamTableData(') ..write('id: $id, ') ..write('name: $name, ') - ..write('createdAt: $createdAt') + ..write('createdAt: $createdAt, ') + ..write('deleted: $deleted') ..write(')')) .toString(); } @override - int get hashCode => Object.hash(id, name, createdAt); + int get hashCode => Object.hash(id, name, createdAt, deleted); @override bool operator ==(Object other) => identical(this, other) || (other is TeamTableData && other.id == this.id && other.name == this.name && - other.createdAt == this.createdAt); + other.createdAt == this.createdAt && + other.deleted == this.deleted); } class TeamTableCompanion extends UpdateCompanion { final Value id; final Value name; final Value createdAt; + final Value deleted; final Value rowid; const TeamTableCompanion({ this.id = const Value.absent(), this.name = const Value.absent(), this.createdAt = const Value.absent(), + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }); TeamTableCompanion.insert({ required String id, required String name, required DateTime createdAt, + this.deleted = const Value.absent(), this.rowid = const Value.absent(), }) : id = Value(id), name = Value(name), @@ -2024,12 +2280,14 @@ class TeamTableCompanion extends UpdateCompanion { Expression? id, Expression? name, Expression? createdAt, + Expression? deleted, Expression? rowid, }) { return RawValuesInsertable({ if (id != null) 'id': id, if (name != null) 'name': name, if (createdAt != null) 'created_at': createdAt, + if (deleted != null) 'deleted': deleted, if (rowid != null) 'rowid': rowid, }); } @@ -2038,12 +2296,14 @@ class TeamTableCompanion extends UpdateCompanion { Value? id, Value? name, Value? createdAt, + Value? deleted, Value? rowid, }) { return TeamTableCompanion( id: id ?? this.id, name: name ?? this.name, createdAt: createdAt ?? this.createdAt, + deleted: deleted ?? this.deleted, rowid: rowid ?? this.rowid, ); } @@ -2060,6 +2320,9 @@ class TeamTableCompanion extends UpdateCompanion { if (createdAt.present) { map['created_at'] = Variable(createdAt.value); } + if (deleted.present) { + map['deleted'] = Variable(deleted.value); + } if (rowid.present) { map['rowid'] = Variable(rowid.value); } @@ -2072,6 +2335,7 @@ class TeamTableCompanion extends UpdateCompanion { ..write('id: $id, ') ..write('name: $name, ') ..write('createdAt: $createdAt, ') + ..write('deleted: $deleted, ') ..write('rowid: $rowid') ..write(')')) .toString(); @@ -2850,6 +3114,7 @@ typedef $$PlayerTableTableCreateCompanionBuilder = required String name, Value nameCount, required String description, + Value deleted, Value rowid, }); typedef $$PlayerTableTableUpdateCompanionBuilder = @@ -2859,6 +3124,7 @@ typedef $$PlayerTableTableUpdateCompanionBuilder = Value name, Value nameCount, Value description, + Value deleted, Value rowid, }); @@ -2970,6 +3236,11 @@ class $$PlayerTableTableFilterComposer builder: (column) => ColumnFilters(column), ); + ColumnFilters get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnFilters(column), + ); + Expression playerGroupTableRefs( Expression Function($$PlayerGroupTableTableFilterComposer f) f, ) { @@ -3079,6 +3350,11 @@ class $$PlayerTableTableOrderingComposer column: $table.description, builder: (column) => ColumnOrderings(column), ); + + ColumnOrderings get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnOrderings(column), + ); } class $$PlayerTableTableAnnotationComposer @@ -3107,6 +3383,9 @@ class $$PlayerTableTableAnnotationComposer builder: (column) => column, ); + GeneratedColumn get deleted => + $composableBuilder(column: $table.deleted, builder: (column) => column); + Expression playerGroupTableRefs( Expression Function($$PlayerGroupTableTableAnnotationComposer a) f, ) { @@ -3220,6 +3499,7 @@ class $$PlayerTableTableTableManager Value name = const Value.absent(), Value nameCount = const Value.absent(), Value description = const Value.absent(), + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => PlayerTableCompanion( id: id, @@ -3227,6 +3507,7 @@ class $$PlayerTableTableTableManager name: name, nameCount: nameCount, description: description, + deleted: deleted, rowid: rowid, ), createCompanionCallback: @@ -3236,6 +3517,7 @@ class $$PlayerTableTableTableManager required String name, Value nameCount = const Value.absent(), required String description, + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => PlayerTableCompanion.insert( id: id, @@ -3243,6 +3525,7 @@ class $$PlayerTableTableTableManager name: name, nameCount: nameCount, description: description, + deleted: deleted, rowid: rowid, ), withReferenceMapper: (p0) => p0 @@ -3364,6 +3647,7 @@ typedef $$GroupTableTableCreateCompanionBuilder = required String name, required String description, required DateTime createdAt, + Value deleted, Value rowid, }); typedef $$GroupTableTableUpdateCompanionBuilder = @@ -3372,6 +3656,7 @@ typedef $$GroupTableTableUpdateCompanionBuilder = Value name, Value description, Value createdAt, + Value deleted, Value rowid, }); @@ -3450,6 +3735,11 @@ class $$GroupTableTableFilterComposer builder: (column) => ColumnFilters(column), ); + ColumnFilters get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnFilters(column), + ); + Expression matchTableRefs( Expression Function($$MatchTableTableFilterComposer f) f, ) { @@ -3529,6 +3819,11 @@ class $$GroupTableTableOrderingComposer column: $table.createdAt, builder: (column) => ColumnOrderings(column), ); + + ColumnOrderings get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnOrderings(column), + ); } class $$GroupTableTableAnnotationComposer @@ -3554,6 +3849,9 @@ class $$GroupTableTableAnnotationComposer GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); + GeneratedColumn get deleted => + $composableBuilder(column: $table.deleted, builder: (column) => column); + Expression matchTableRefs( Expression Function($$MatchTableTableAnnotationComposer a) f, ) { @@ -3640,12 +3938,14 @@ class $$GroupTableTableTableManager Value name = const Value.absent(), Value description = const Value.absent(), Value createdAt = const Value.absent(), + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => GroupTableCompanion( id: id, name: name, description: description, createdAt: createdAt, + deleted: deleted, rowid: rowid, ), createCompanionCallback: @@ -3654,12 +3954,14 @@ class $$GroupTableTableTableManager required String name, required String description, required DateTime createdAt, + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => GroupTableCompanion.insert( id: id, name: name, description: description, createdAt: createdAt, + deleted: deleted, rowid: rowid, ), withReferenceMapper: (p0) => p0 @@ -3754,6 +4056,7 @@ typedef $$GameTableTableCreateCompanionBuilder = required String color, required String icon, required DateTime createdAt, + Value deleted, Value rowid, }); typedef $$GameTableTableUpdateCompanionBuilder = @@ -3765,6 +4068,7 @@ typedef $$GameTableTableUpdateCompanionBuilder = Value color, Value icon, Value createdAt, + Value deleted, Value rowid, }); @@ -3835,6 +4139,11 @@ class $$GameTableTableFilterComposer builder: (column) => ColumnFilters(column), ); + ColumnFilters get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnFilters(column), + ); + Expression matchTableRefs( Expression Function($$MatchTableTableFilterComposer f) f, ) { @@ -3904,6 +4213,11 @@ class $$GameTableTableOrderingComposer column: $table.createdAt, builder: (column) => ColumnOrderings(column), ); + + ColumnOrderings get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnOrderings(column), + ); } class $$GameTableTableAnnotationComposer @@ -3938,6 +4252,9 @@ class $$GameTableTableAnnotationComposer GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); + GeneratedColumn get deleted => + $composableBuilder(column: $table.deleted, builder: (column) => column); + Expression matchTableRefs( Expression Function($$MatchTableTableAnnotationComposer a) f, ) { @@ -3999,6 +4316,7 @@ class $$GameTableTableTableManager Value color = const Value.absent(), Value icon = const Value.absent(), Value createdAt = const Value.absent(), + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => GameTableCompanion( id: id, @@ -4008,6 +4326,7 @@ class $$GameTableTableTableManager color: color, icon: icon, createdAt: createdAt, + deleted: deleted, rowid: rowid, ), createCompanionCallback: @@ -4019,6 +4338,7 @@ class $$GameTableTableTableManager required String color, required String icon, required DateTime createdAt, + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => GameTableCompanion.insert( id: id, @@ -4028,6 +4348,7 @@ class $$GameTableTableTableManager color: color, icon: icon, createdAt: createdAt, + deleted: deleted, rowid: rowid, ), withReferenceMapper: (p0) => p0 @@ -4095,6 +4416,7 @@ typedef $$MatchTableTableCreateCompanionBuilder = required String notes, required DateTime createdAt, Value endedAt, + Value deleted, Value rowid, }); typedef $$MatchTableTableUpdateCompanionBuilder = @@ -4106,6 +4428,7 @@ typedef $$MatchTableTableUpdateCompanionBuilder = Value notes, Value createdAt, Value endedAt, + Value deleted, Value rowid, }); @@ -4230,6 +4553,11 @@ class $$MatchTableTableFilterComposer builder: (column) => ColumnFilters(column), ); + ColumnFilters get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnFilters(column), + ); + $$GameTableTableFilterComposer get gameId { final $$GameTableTableFilterComposer composer = $composerBuilder( composer: this, @@ -4361,6 +4689,11 @@ class $$MatchTableTableOrderingComposer builder: (column) => ColumnOrderings(column), ); + ColumnOrderings get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnOrderings(column), + ); + $$GameTableTableOrderingComposer get gameId { final $$GameTableTableOrderingComposer composer = $composerBuilder( composer: this, @@ -4432,6 +4765,9 @@ class $$MatchTableTableAnnotationComposer GeneratedColumn get endedAt => $composableBuilder(column: $table.endedAt, builder: (column) => column); + GeneratedColumn get deleted => + $composableBuilder(column: $table.deleted, builder: (column) => column); + $$GameTableTableAnnotationComposer get gameId { final $$GameTableTableAnnotationComposer composer = $composerBuilder( composer: this, @@ -4569,6 +4905,7 @@ class $$MatchTableTableTableManager Value notes = const Value.absent(), Value createdAt = const Value.absent(), Value endedAt = const Value.absent(), + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => MatchTableCompanion( id: id, @@ -4578,6 +4915,7 @@ class $$MatchTableTableTableManager notes: notes, createdAt: createdAt, endedAt: endedAt, + deleted: deleted, rowid: rowid, ), createCompanionCallback: @@ -4589,6 +4927,7 @@ class $$MatchTableTableTableManager required String notes, required DateTime createdAt, Value endedAt = const Value.absent(), + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => MatchTableCompanion.insert( id: id, @@ -4598,6 +4937,7 @@ class $$MatchTableTableTableManager notes: notes, createdAt: createdAt, endedAt: endedAt, + deleted: deleted, rowid: rowid, ), withReferenceMapper: (p0) => p0 @@ -5109,6 +5449,7 @@ typedef $$TeamTableTableCreateCompanionBuilder = required String id, required String name, required DateTime createdAt, + Value deleted, Value rowid, }); typedef $$TeamTableTableUpdateCompanionBuilder = @@ -5116,6 +5457,7 @@ typedef $$TeamTableTableUpdateCompanionBuilder = Value id, Value name, Value createdAt, + Value deleted, Value rowid, }); @@ -5171,6 +5513,11 @@ class $$TeamTableTableFilterComposer builder: (column) => ColumnFilters(column), ); + ColumnFilters get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnFilters(column), + ); + Expression playerMatchTableRefs( Expression Function($$PlayerMatchTableTableFilterComposer f) f, ) { @@ -5220,6 +5567,11 @@ class $$TeamTableTableOrderingComposer column: $table.createdAt, builder: (column) => ColumnOrderings(column), ); + + ColumnOrderings get deleted => $composableBuilder( + column: $table.deleted, + builder: (column) => ColumnOrderings(column), + ); } class $$TeamTableTableAnnotationComposer @@ -5240,6 +5592,9 @@ class $$TeamTableTableAnnotationComposer GeneratedColumn get createdAt => $composableBuilder(column: $table.createdAt, builder: (column) => column); + GeneratedColumn get deleted => + $composableBuilder(column: $table.deleted, builder: (column) => column); + Expression playerMatchTableRefs( Expression Function($$PlayerMatchTableTableAnnotationComposer a) f, ) { @@ -5297,11 +5652,13 @@ class $$TeamTableTableTableManager Value id = const Value.absent(), Value name = const Value.absent(), Value createdAt = const Value.absent(), + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => TeamTableCompanion( id: id, name: name, createdAt: createdAt, + deleted: deleted, rowid: rowid, ), createCompanionCallback: @@ -5309,11 +5666,13 @@ class $$TeamTableTableTableManager required String id, required String name, required DateTime createdAt, + Value deleted = const Value.absent(), Value rowid = const Value.absent(), }) => TeamTableCompanion.insert( id: id, name: name, createdAt: createdAt, + deleted: deleted, rowid: rowid, ), withReferenceMapper: (p0) => p0 -- 2.49.1 From e6e065ed44ec0dcfcf260d888870a2031f5a2c52 Mon Sep 17 00:00:00 2001 From: gelbeinhalb Date: Tue, 12 May 2026 21:43:36 +0200 Subject: [PATCH 12/12] deleted is not required anymore --- assets/schema.json | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/assets/schema.json b/assets/schema.json index 9fa980b..bb6b95b 100644 --- a/assets/schema.json +++ b/assets/schema.json @@ -28,8 +28,7 @@ "id", "createdAt", "name", - "description", - "deleted" + "description" ] } }, @@ -71,8 +70,7 @@ "ruleset", "description", "color", - "icon", - "deleted" + "icon" ] } }, @@ -109,8 +107,7 @@ "name", "createdAt", "description", - "memberIds", - "deleted" + "memberIds" ] } }, @@ -192,8 +189,7 @@ "createdAt", "gameId", "playerIds", - "notes", - "deleted" + "notes" ] } } -- 2.49.1