diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist
index 7c56964..1dc6cf7 100644
--- a/ios/Flutter/AppFrameworkInfo.plist
+++ b/ios/Flutter/AppFrameworkInfo.plist
@@ -21,6 +21,6 @@
CFBundleVersion
1.0
MinimumOSVersion
- 12.0
+ 13.0
diff --git a/ios/Podfile b/ios/Podfile
index e549ee2..620e46e 100644
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
-# platform :ios, '12.0'
+# platform :ios, '13.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index e663485..8358b1c 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -11,9 +11,11 @@
331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
+ 8AD879B4BA24BC1EB84E1092 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8543AAE6520EA0C0B3AF8FEE /* Pods_RunnerTests.framework */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
+ DDD6907F99188C9B97C6B11F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D622CF241440C10C19C0D397 /* Pods_Runner.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -40,14 +42,18 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
+ 13301BC306FBFE16F253F2B9 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
+ 32DDFE3349B038E1CA758D7B /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; };
331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; };
331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
+ 8543AAE6520EA0C0B3AF8FEE /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 96CDE41BAA7259C918DB326B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -55,13 +61,26 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ B194217AD06D15D90AAF9056 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
+ B68CF4A64F0B5E45B43D6900 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; };
+ D622CF241440C10C19C0D397 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ E754D1191B3E54E52B6DCC49 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
+ 6F6FEDCE9772FEF7A6255134 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8AD879B4BA24BC1EB84E1092 /* Pods_RunnerTests.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ DDD6907F99188C9B97C6B11F /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -94,6 +113,8 @@
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
331C8082294A63A400263BE5 /* RunnerTests */,
+ ABF0E17C36D6999806C09130 /* Pods */,
+ F14326E3F17437DD2E32AB7B /* Frameworks */,
);
sourceTree = "";
};
@@ -121,6 +142,29 @@
path = Runner;
sourceTree = "";
};
+ ABF0E17C36D6999806C09130 /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ B194217AD06D15D90AAF9056 /* Pods-Runner.debug.xcconfig */,
+ 32DDFE3349B038E1CA758D7B /* Pods-Runner.release.xcconfig */,
+ 13301BC306FBFE16F253F2B9 /* Pods-Runner.profile.xcconfig */,
+ 96CDE41BAA7259C918DB326B /* Pods-RunnerTests.debug.xcconfig */,
+ B68CF4A64F0B5E45B43D6900 /* Pods-RunnerTests.release.xcconfig */,
+ E754D1191B3E54E52B6DCC49 /* Pods-RunnerTests.profile.xcconfig */,
+ );
+ name = Pods;
+ path = Pods;
+ sourceTree = "";
+ };
+ F14326E3F17437DD2E32AB7B /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ D622CF241440C10C19C0D397 /* Pods_Runner.framework */,
+ 8543AAE6520EA0C0B3AF8FEE /* Pods_RunnerTests.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -128,8 +172,10 @@
isa = PBXNativeTarget;
buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */;
buildPhases = (
+ F7D5E29C2C77E2E8925BBB8A /* [CP] Check Pods Manifest.lock */,
331C807D294A63A400263BE5 /* Sources */,
331C807F294A63A400263BE5 /* Resources */,
+ 6F6FEDCE9772FEF7A6255134 /* Frameworks */,
);
buildRules = (
);
@@ -145,12 +191,14 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
+ 8947D8DE27F8CB7D5A5F265C /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
+ 0CC58B149CD3F41CF94E1C52 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@@ -222,6 +270,23 @@
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
+ 0CC58B149CD3F41CF94E1C52 /* [CP] Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist",
+ );
+ name = "[CP] Embed Pods Frameworks";
+ outputFileListPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
@@ -238,6 +303,28 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
+ 8947D8DE27F8CB7D5A5F265C /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
@@ -253,6 +340,28 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
+ F7D5E29C2C77E2E8925BBB8A /* [CP] Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+ "${PODS_ROOT}/Manifest.lock",
+ );
+ name = "[CP] Check Pods Manifest.lock";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt",
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+ showEnvVarsInLog = 0;
+ };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -346,7 +455,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -379,6 +488,7 @@
};
331C8088294A63A400263BE5 /* Debug */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = 96CDE41BAA7259C918DB326B /* Pods-RunnerTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
@@ -396,6 +506,7 @@
};
331C8089294A63A400263BE5 /* Release */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = B68CF4A64F0B5E45B43D6900 /* Pods-RunnerTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
@@ -411,6 +522,7 @@
};
331C808A294A63A400263BE5 /* Profile */ = {
isa = XCBuildConfiguration;
+ baseConfigurationReference = E754D1191B3E54E52B6DCC49 /* Pods-RunnerTests.profile.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
CODE_SIGN_STYLE = Automatic;
@@ -473,7 +585,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -524,7 +636,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 12.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 13.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata
index 1d526a1..21a3cc1 100644
--- a/ios/Runner.xcworkspace/contents.xcworkspacedata
+++ b/ios/Runner.xcworkspace/contents.xcworkspacedata
@@ -4,4 +4,7 @@
+
+
diff --git a/lib/core/custom_theme.dart b/lib/core/custom_theme.dart
index 1a5741a..438aab5 100644
--- a/lib/core/custom_theme.dart
+++ b/lib/core/custom_theme.dart
@@ -3,7 +3,9 @@ import 'package:flutter/material.dart';
class CustomTheme {
static Color primaryColor = const Color(0xFF7505E4);
static Color secondaryColor = const Color(0xFFAFA2FF);
- static Color backgroundColor = const Color(0xFF1A1A1A);
+ static Color backgroundColor = const Color(0xFF0B0B0B);
+ static Color boxColor = const Color(0xFF101010);
+ static Color boxBorder = const Color(0xFF272727);
static AppBarTheme appBarTheme = AppBarTheme(
backgroundColor: backgroundColor,
diff --git a/lib/data/dao/game_dao.dart b/lib/data/dao/game_dao.dart
new file mode 100644
index 0000000..e59fae4
--- /dev/null
+++ b/lib/data/dao/game_dao.dart
@@ -0,0 +1,25 @@
+import 'package:drift/drift.dart';
+import 'package:game_tracker/data/db/database.dart';
+import 'package:game_tracker/data/db/tables/game_table.dart';
+import 'package:game_tracker/data/dto/game.dart';
+
+part 'game_dao.g.dart';
+
+@DriftAccessor(tables: [GameTable])
+class GameDao extends DatabaseAccessor with _$GameDaoMixin {
+ GameDao(super.db);
+
+ /// Retrieves all games from the database.
+ Future> getAllGames() async {
+ final query = select(gameTable);
+ final result = await query.get();
+ return result.map((row) => Game(id: row.id, name: row.name)).toList();
+ }
+
+ /// Retrieves a [Game] by its [id].
+ Future getGameById(String id) async {
+ final query = select(gameTable)..where((g) => g.id.equals(id));
+ final result = await query.getSingle();
+ return Game(id: result.id, name: result.name);
+ }
+}
diff --git a/lib/data/dao/game_dao.g.dart b/lib/data/dao/game_dao.g.dart
new file mode 100644
index 0000000..b5a29fe
--- /dev/null
+++ b/lib/data/dao/game_dao.g.dart
@@ -0,0 +1,8 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'game_dao.dart';
+
+// ignore_for_file: type=lint
+mixin _$GameDaoMixin on DatabaseAccessor {
+ $GameTableTable get gameTable => attachedDatabase.gameTable;
+}
diff --git a/lib/data/dao/group_dao.dart b/lib/data/dao/group_dao.dart
new file mode 100644
index 0000000..c1932d3
--- /dev/null
+++ b/lib/data/dao/group_dao.dart
@@ -0,0 +1,59 @@
+import 'package:drift/drift.dart';
+import 'package:game_tracker/data/db/database.dart';
+import 'package:game_tracker/data/db/tables/group_table.dart';
+import 'package:game_tracker/data/dto/group.dart';
+import 'package:game_tracker/data/dto/player.dart';
+
+part 'group_dao.g.dart';
+
+@DriftAccessor(tables: [GroupTable])
+class GroupDao extends DatabaseAccessor with _$GroupDaoMixin {
+ GroupDao(super.db);
+
+ /// Retrieves all groups from the database.
+ Future> getAllGroups() async {
+ final query = select(groupTable);
+ final result = await query.get();
+ return result
+ .map((row) => Group(id: row.id, name: row.name, members: []))
+ .toList();
+ }
+
+ /// Retrieves a [Group] by its [id], including its members.
+ Future getGroupById(String id) async {
+ final query = select(groupTable)..where((g) => g.id.equals(id));
+ final result = await query.getSingle();
+
+ List members = [];
+
+ members = await db.playerGroupDao.getPlayersOfGroupById(id);
+
+ return Group(id: result.id, name: result.name, members: members);
+ }
+
+ /// Adds a new group with the given [id] and [name] to the database.
+ /// Returns `true` if more than 0 rows were affected, otherwise `false`.
+ Future addGroup(String id, String name) async {
+ await into(
+ groupTable,
+ ).insert(GroupTableCompanion.insert(id: id, name: name));
+ }
+
+ /// Deletes the group with the given [id] from the database.
+ /// Returns `true` if more than 0 rows were affected, otherwise `false`.
+ Future deleteGroup(String id) async {
+ final query = (delete(groupTable)..where((g) => g.id.equals(id)));
+ final rowsAffected = await query.go();
+ return rowsAffected > 0;
+ }
+
+ /// Updates the name of the group with the given [id] to [newName].
+ /// Returns `true` if more than 0 rows were affected, otherwise `false`.
+ Future updateGroupname(String id, String newName) async {
+ final rowsAffected =
+ await (update(groupTable)..where((g) => g.id.equals(id))).write(
+ GroupTableCompanion(name: Value(newName)),
+ );
+ return rowsAffected > 0;
+ }
+}
diff --git a/lib/data/dao/group_dao.g.dart b/lib/data/dao/group_dao.g.dart
new file mode 100644
index 0000000..4a09208
--- /dev/null
+++ b/lib/data/dao/group_dao.g.dart
@@ -0,0 +1,8 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'group_dao.dart';
+
+// ignore_for_file: type=lint
+mixin _$GroupDaoMixin on DatabaseAccessor {
+ $GroupTableTable get groupTable => attachedDatabase.groupTable;
+}
diff --git a/lib/data/dao/player_dao.dart b/lib/data/dao/player_dao.dart
new file mode 100644
index 0000000..2d3c0ab
--- /dev/null
+++ b/lib/data/dao/player_dao.dart
@@ -0,0 +1,55 @@
+import 'package:drift/drift.dart';
+import 'package:game_tracker/data/db/database.dart';
+import 'package:game_tracker/data/db/tables/player_table.dart';
+import 'package:game_tracker/data/dto/player.dart';
+
+part 'player_dao.g.dart';
+
+@DriftAccessor(tables: [PlayerTable])
+class PlayerDao extends DatabaseAccessor with _$PlayerDaoMixin {
+ PlayerDao(super.db);
+
+ /// Retrieves all players from the database.
+ Future> getAllPlayers() async {
+ final query = select(playerTable);
+ final result = await query.get();
+ return result.map((row) => Player(id: row.id, name: row.name)).toList();
+ }
+
+ /// Retrieves a [Player] by their [id].
+ Future getPlayerById(String id) async {
+ final query = select(playerTable)..where((p) => p.id.equals(id));
+ final result = await query.getSingle();
+ return Player(id: result.id, name: result.name);
+ }
+
+ /// Adds a new [player] to the database.
+ Future addPlayer(Player player) async {
+ await into(
+ playerTable,
+ ).insert(PlayerTableCompanion.insert(id: player.id, name: player.name));
+ }
+
+ /// Deletes the player with the given [id] from the database.
+ /// Returns `true` if the player was deleted, `false` if the player did not exist.
+ Future deletePlayer(String id) async {
+ final query = delete(playerTable)..where((p) => p.id.equals(id));
+ final rowsAffected = await query.go();
+ return rowsAffected > 0;
+ }
+
+ /// Checks if a player with the given [id] exists in the database.
+ /// Returns `true` if the player exists, `false` otherwise.
+ Future playerExists(String id) async {
+ final query = select(playerTable)..where((p) => p.id.equals(id));
+ final result = await query.getSingleOrNull();
+ return result != null;
+ }
+
+ /// Updates the name of the player with the given [id] to [newName].
+ Future updatePlayername(String id, String newName) async {
+ await (update(playerTable)..where((p) => p.id.equals(id))).write(
+ PlayerTableCompanion(name: Value(newName)),
+ );
+ }
+}
diff --git a/lib/data/dao/player_dao.g.dart b/lib/data/dao/player_dao.g.dart
new file mode 100644
index 0000000..c517581
--- /dev/null
+++ b/lib/data/dao/player_dao.g.dart
@@ -0,0 +1,8 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'player_dao.dart';
+
+// ignore_for_file: type=lint
+mixin _$PlayerDaoMixin on DatabaseAccessor {
+ $PlayerTableTable get playerTable => attachedDatabase.playerTable;
+}
diff --git a/lib/data/dao/player_group_dao.dart b/lib/data/dao/player_group_dao.dart
new file mode 100644
index 0000000..b68ed09
--- /dev/null
+++ b/lib/data/dao/player_group_dao.dart
@@ -0,0 +1,44 @@
+import 'package:drift/drift.dart';
+import 'package:game_tracker/data/db/database.dart';
+import 'package:game_tracker/data/db/tables/player_group_table.dart';
+import 'package:game_tracker/data/dto/player.dart';
+
+part 'player_group_dao.g.dart';
+
+@DriftAccessor(tables: [PlayerGroupTable])
+class PlayerGroupDao extends DatabaseAccessor
+ with _$PlayerGroupDaoMixin {
+ PlayerGroupDao(super.db);
+
+ /// Retrieves all players belonging to a specific group by [groupId].
+ Future> getPlayersOfGroupById(String groupId) async {
+ final query = select(playerGroupTable)
+ ..where((pG) => pG.groupId.equals(groupId));
+ final result = await query.get();
+
+ List groupMembers = [];
+
+ for (var entry in result) {
+ final player = await db.playerDao.getPlayerById(entry.userId);
+ groupMembers.add(player);
+ }
+
+ return groupMembers;
+ }
+
+ /// Removes a player from a group based on [userId] and [groupId].
+ /// Returns `true` if more than 0 rows were affected, otherwise `false`.
+ Future removePlayerFromGroup(String userId, String groupId) async {
+ final query = delete(playerGroupTable)
+ ..where((p) => p.userId.equals(userId) & p.groupId.equals(groupId));
+ final rowsAffected = await query.go();
+ return rowsAffected > 0;
+ }
+
+ /// Adds a player to a group with the given [userId] and [groupId].
+ Future addPlayerToGroup(String userId, String groupId) async {
+ await into(playerGroupTable).insert(
+ PlayerGroupTableCompanion.insert(userId: userId, groupId: groupId),
+ );
+ }
+}
diff --git a/lib/data/dao/player_group_dao.g.dart b/lib/data/dao/player_group_dao.g.dart
new file mode 100644
index 0000000..d54f979
--- /dev/null
+++ b/lib/data/dao/player_group_dao.g.dart
@@ -0,0 +1,11 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'player_group_dao.dart';
+
+// ignore_for_file: type=lint
+mixin _$PlayerGroupDaoMixin on DatabaseAccessor {
+ $PlayerTableTable get playerTable => attachedDatabase.playerTable;
+ $GroupTableTable get groupTable => attachedDatabase.groupTable;
+ $PlayerGroupTableTable get playerGroupTable =>
+ attachedDatabase.playerGroupTable;
+}
diff --git a/lib/data/database.dart b/lib/data/database.dart
deleted file mode 100644
index 2c04942..0000000
--- a/lib/data/database.dart
+++ /dev/null
@@ -1,46 +0,0 @@
-import 'package:drift/drift.dart';
-import 'package:drift_flutter/drift_flutter.dart';
-import 'package:path_provider/path_provider.dart';
-
-part 'database.g.dart';
-
-class User extends Table {
- TextColumn get id => text()();
- TextColumn get name => text()();
-
- @override
- Set> get primaryKey => {id};
-}
-
-class Group extends Table {
- TextColumn get id => text()();
- TextColumn get name => text()();
-
- @override
- Set> get primaryKey => {id};
-}
-
-class UserGroup extends Table {
- TextColumn get userId => text().references(User, #id)();
- TextColumn get groupId => text().references(Group, #id)();
-
- @override
- Set> get primaryKey => {userId, groupId};
-}
-
-@DriftDatabase(tables: [User, Group, UserGroup])
-class AppDatabase extends _$AppDatabase {
- AppDatabase([QueryExecutor? executor]) : super(executor ?? _openConnection());
-
- @override
- int get schemaVersion => 1;
-
- static QueryExecutor _openConnection() {
- return driftDatabase(
- name: 'gametracker_db',
- native: const DriftNativeOptions(
- databaseDirectory: getApplicationSupportDirectory,
- ),
- );
- }
-}
\ No newline at end of file
diff --git a/lib/data/db/database.dart b/lib/data/db/database.dart
new file mode 100644
index 0000000..e35513e
--- /dev/null
+++ b/lib/data/db/database.dart
@@ -0,0 +1,33 @@
+import 'package:drift/drift.dart';
+import 'package:drift_flutter/drift_flutter.dart';
+import 'package:game_tracker/data/dao/game_dao.dart';
+import 'package:game_tracker/data/dao/group_dao.dart';
+import 'package:game_tracker/data/dao/player_dao.dart';
+import 'package:game_tracker/data/dao/player_group_dao.dart';
+import 'package:game_tracker/data/db/tables/game_table.dart';
+import 'package:game_tracker/data/db/tables/group_table.dart';
+import 'package:game_tracker/data/db/tables/player_group_table.dart';
+import 'package:game_tracker/data/db/tables/player_table.dart';
+import 'package:path_provider/path_provider.dart';
+
+part 'database.g.dart';
+
+@DriftDatabase(
+ tables: [PlayerTable, GroupTable, PlayerGroupTable, GameTable],
+ daos: [GroupDao, PlayerDao, PlayerGroupDao, GameDao],
+)
+class AppDatabase extends _$AppDatabase {
+ AppDatabase([QueryExecutor? executor]) : super(executor ?? _openConnection());
+
+ @override
+ int get schemaVersion => 1;
+
+ static QueryExecutor _openConnection() {
+ return driftDatabase(
+ name: 'gametracker_db',
+ native: const DriftNativeOptions(
+ databaseDirectory: getApplicationSupportDirectory,
+ ),
+ );
+ }
+}
diff --git a/lib/data/database.g.dart b/lib/data/db/database.g.dart
similarity index 50%
rename from lib/data/database.g.dart
rename to lib/data/db/database.g.dart
index 795f850..4075912 100644
--- a/lib/data/database.g.dart
+++ b/lib/data/db/database.g.dart
@@ -3,11 +3,12 @@
part of 'database.dart';
// ignore_for_file: type=lint
-class $UserTable extends User with TableInfo<$UserTable, UserData> {
+class $PlayerTableTable extends PlayerTable
+ with TableInfo<$PlayerTableTable, PlayerTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
- $UserTable(this.attachedDatabase, [this._alias]);
+ $PlayerTableTable(this.attachedDatabase, [this._alias]);
static const VerificationMeta _idMeta = const VerificationMeta('id');
@override
late final GeneratedColumn id = GeneratedColumn(
@@ -32,10 +33,10 @@ class $UserTable extends User with TableInfo<$UserTable, UserData> {
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
- static const String $name = 'user';
+ static const String $name = 'player_table';
@override
VerificationContext validateIntegrity(
- Insertable instance, {
+ Insertable instance, {
bool isInserting = false,
}) {
final context = VerificationContext();
@@ -59,9 +60,9 @@ class $UserTable extends User with TableInfo<$UserTable, UserData> {
@override
Set get $primaryKey => {id};
@override
- UserData map(Map data, {String? tablePrefix}) {
+ PlayerTableData map(Map data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
- return UserData(
+ return PlayerTableData(
id: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}id'],
@@ -74,15 +75,15 @@ class $UserTable extends User with TableInfo<$UserTable, UserData> {
}
@override
- $UserTable createAlias(String alias) {
- return $UserTable(attachedDatabase, alias);
+ $PlayerTableTable createAlias(String alias) {
+ return $PlayerTableTable(attachedDatabase, alias);
}
}
-class UserData extends DataClass implements Insertable {
+class PlayerTableData extends DataClass implements Insertable {
final String id;
final String name;
- const UserData({required this.id, required this.name});
+ const PlayerTableData({required this.id, required this.name});
@override
Map toColumns(bool nullToAbsent) {
final map = {};
@@ -91,16 +92,16 @@ class UserData extends DataClass implements Insertable {
return map;
}
- UserCompanion toCompanion(bool nullToAbsent) {
- return UserCompanion(id: Value(id), name: Value(name));
+ PlayerTableCompanion toCompanion(bool nullToAbsent) {
+ return PlayerTableCompanion(id: Value(id), name: Value(name));
}
- factory UserData.fromJson(
+ factory PlayerTableData.fromJson(
Map json, {
ValueSerializer? serializer,
}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
- return UserData(
+ return PlayerTableData(
id: serializer.fromJson(json['id']),
name: serializer.fromJson(json['name']),
);
@@ -114,10 +115,10 @@ class UserData extends DataClass implements Insertable {
};
}
- UserData copyWith({String? id, String? name}) =>
- UserData(id: id ?? this.id, name: name ?? this.name);
- UserData copyWithCompanion(UserCompanion data) {
- return UserData(
+ PlayerTableData copyWith({String? id, String? name}) =>
+ PlayerTableData(id: id ?? this.id, name: name ?? this.name);
+ PlayerTableData copyWithCompanion(PlayerTableCompanion data) {
+ return PlayerTableData(
id: data.id.present ? data.id.value : this.id,
name: data.name.present ? data.name.value : this.name,
);
@@ -125,7 +126,7 @@ class UserData extends DataClass implements Insertable {
@override
String toString() {
- return (StringBuffer('UserData(')
+ return (StringBuffer('PlayerTableData(')
..write('id: $id, ')
..write('name: $name')
..write(')'))
@@ -137,25 +138,27 @@ class UserData extends DataClass implements Insertable {
@override
bool operator ==(Object other) =>
identical(this, other) ||
- (other is UserData && other.id == this.id && other.name == this.name);
+ (other is PlayerTableData &&
+ other.id == this.id &&
+ other.name == this.name);
}
-class UserCompanion extends UpdateCompanion {
+class PlayerTableCompanion extends UpdateCompanion {
final Value id;
final Value name;
final Value rowid;
- const UserCompanion({
+ const PlayerTableCompanion({
this.id = const Value.absent(),
this.name = const Value.absent(),
this.rowid = const Value.absent(),
});
- UserCompanion.insert({
+ PlayerTableCompanion.insert({
required String id,
required String name,
this.rowid = const Value.absent(),
}) : id = Value(id),
name = Value(name);
- static Insertable custom({
+ static Insertable custom({
Expression? id,
Expression? name,
Expression? rowid,
@@ -167,12 +170,12 @@ class UserCompanion extends UpdateCompanion {
});
}
- UserCompanion copyWith({
+ PlayerTableCompanion copyWith({
Value? id,
Value? name,
Value? rowid,
}) {
- return UserCompanion(
+ return PlayerTableCompanion(
id: id ?? this.id,
name: name ?? this.name,
rowid: rowid ?? this.rowid,
@@ -196,7 +199,7 @@ class UserCompanion extends UpdateCompanion {
@override
String toString() {
- return (StringBuffer('UserCompanion(')
+ return (StringBuffer('PlayerTableCompanion(')
..write('id: $id, ')
..write('name: $name, ')
..write('rowid: $rowid')
@@ -205,11 +208,12 @@ class UserCompanion extends UpdateCompanion {
}
}
-class $GroupTable extends Group with TableInfo<$GroupTable, GroupData> {
+class $GroupTableTable extends GroupTable
+ with TableInfo<$GroupTableTable, GroupTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
- $GroupTable(this.attachedDatabase, [this._alias]);
+ $GroupTableTable(this.attachedDatabase, [this._alias]);
static const VerificationMeta _idMeta = const VerificationMeta('id');
@override
late final GeneratedColumn id = GeneratedColumn(
@@ -234,10 +238,10 @@ class $GroupTable extends Group with TableInfo<$GroupTable, GroupData> {
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
- static const String $name = 'group';
+ static const String $name = 'group_table';
@override
VerificationContext validateIntegrity(
- Insertable instance, {
+ Insertable instance, {
bool isInserting = false,
}) {
final context = VerificationContext();
@@ -261,9 +265,9 @@ class $GroupTable extends Group with TableInfo<$GroupTable, GroupData> {
@override
Set get $primaryKey => {id};
@override
- GroupData map(Map data, {String? tablePrefix}) {
+ GroupTableData map(Map data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
- return GroupData(
+ return GroupTableData(
id: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}id'],
@@ -276,15 +280,15 @@ class $GroupTable extends Group with TableInfo<$GroupTable, GroupData> {
}
@override
- $GroupTable createAlias(String alias) {
- return $GroupTable(attachedDatabase, alias);
+ $GroupTableTable createAlias(String alias) {
+ return $GroupTableTable(attachedDatabase, alias);
}
}
-class GroupData extends DataClass implements Insertable {
+class GroupTableData extends DataClass implements Insertable {
final String id;
final String name;
- const GroupData({required this.id, required this.name});
+ const GroupTableData({required this.id, required this.name});
@override
Map toColumns(bool nullToAbsent) {
final map = {};
@@ -293,16 +297,16 @@ class GroupData extends DataClass implements Insertable {
return map;
}
- GroupCompanion toCompanion(bool nullToAbsent) {
- return GroupCompanion(id: Value(id), name: Value(name));
+ GroupTableCompanion toCompanion(bool nullToAbsent) {
+ return GroupTableCompanion(id: Value(id), name: Value(name));
}
- factory GroupData.fromJson(
+ factory GroupTableData.fromJson(
Map json, {
ValueSerializer? serializer,
}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
- return GroupData(
+ return GroupTableData(
id: serializer.fromJson(json['id']),
name: serializer.fromJson(json['name']),
);
@@ -316,10 +320,10 @@ class GroupData extends DataClass implements Insertable {
};
}
- GroupData copyWith({String? id, String? name}) =>
- GroupData(id: id ?? this.id, name: name ?? this.name);
- GroupData copyWithCompanion(GroupCompanion data) {
- return GroupData(
+ GroupTableData copyWith({String? id, String? name}) =>
+ GroupTableData(id: id ?? this.id, name: name ?? this.name);
+ GroupTableData copyWithCompanion(GroupTableCompanion data) {
+ return GroupTableData(
id: data.id.present ? data.id.value : this.id,
name: data.name.present ? data.name.value : this.name,
);
@@ -327,7 +331,7 @@ class GroupData extends DataClass implements Insertable {
@override
String toString() {
- return (StringBuffer('GroupData(')
+ return (StringBuffer('GroupTableData(')
..write('id: $id, ')
..write('name: $name')
..write(')'))
@@ -339,25 +343,27 @@ class GroupData extends DataClass implements Insertable {
@override
bool operator ==(Object other) =>
identical(this, other) ||
- (other is GroupData && other.id == this.id && other.name == this.name);
+ (other is GroupTableData &&
+ other.id == this.id &&
+ other.name == this.name);
}
-class GroupCompanion extends UpdateCompanion {
+class GroupTableCompanion extends UpdateCompanion {
final Value id;
final Value name;
final Value rowid;
- const GroupCompanion({
+ const GroupTableCompanion({
this.id = const Value.absent(),
this.name = const Value.absent(),
this.rowid = const Value.absent(),
});
- GroupCompanion.insert({
+ GroupTableCompanion.insert({
required String id,
required String name,
this.rowid = const Value.absent(),
}) : id = Value(id),
name = Value(name);
- static Insertable custom({
+ static Insertable custom({
Expression? id,
Expression? name,
Expression? rowid,
@@ -369,12 +375,12 @@ class GroupCompanion extends UpdateCompanion {
});
}
- GroupCompanion copyWith({
+ GroupTableCompanion copyWith({
Value? id,
Value? name,
Value? rowid,
}) {
- return GroupCompanion(
+ return GroupTableCompanion(
id: id ?? this.id,
name: name ?? this.name,
rowid: rowid ?? this.rowid,
@@ -398,7 +404,7 @@ class GroupCompanion extends UpdateCompanion {
@override
String toString() {
- return (StringBuffer('GroupCompanion(')
+ return (StringBuffer('GroupTableCompanion(')
..write('id: $id, ')
..write('name: $name, ')
..write('rowid: $rowid')
@@ -407,12 +413,12 @@ class GroupCompanion extends UpdateCompanion {
}
}
-class $UserGroupTable extends UserGroup
- with TableInfo<$UserGroupTable, UserGroupData> {
+class $PlayerGroupTableTable extends PlayerGroupTable
+ with TableInfo<$PlayerGroupTableTable, PlayerGroupTableData> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
- $UserGroupTable(this.attachedDatabase, [this._alias]);
+ $PlayerGroupTableTable(this.attachedDatabase, [this._alias]);
static const VerificationMeta _userIdMeta = const VerificationMeta('userId');
@override
late final GeneratedColumn userId = GeneratedColumn(
@@ -422,7 +428,7 @@ class $UserGroupTable extends UserGroup
type: DriftSqlType.string,
requiredDuringInsert: true,
defaultConstraints: GeneratedColumn.constraintIsAlways(
- 'REFERENCES user (id)',
+ 'REFERENCES player_table (id)',
),
);
static const VerificationMeta _groupIdMeta = const VerificationMeta(
@@ -436,7 +442,7 @@ class $UserGroupTable extends UserGroup
type: DriftSqlType.string,
requiredDuringInsert: true,
defaultConstraints: GeneratedColumn.constraintIsAlways(
- 'REFERENCES "group" (id)',
+ 'REFERENCES group_table (id)',
),
);
@override
@@ -445,10 +451,10 @@ class $UserGroupTable extends UserGroup
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
- static const String $name = 'user_group';
+ static const String $name = 'player_group_table';
@override
VerificationContext validateIntegrity(
- Insertable instance, {
+ Insertable instance, {
bool isInserting = false,
}) {
final context = VerificationContext();
@@ -475,9 +481,9 @@ class $UserGroupTable extends UserGroup
@override
Set get $primaryKey => {userId, groupId};
@override
- UserGroupData map(Map data, {String? tablePrefix}) {
+ PlayerGroupTableData map(Map data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
- return UserGroupData(
+ return PlayerGroupTableData(
userId: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}user_id'],
@@ -490,15 +496,16 @@ class $UserGroupTable extends UserGroup
}
@override
- $UserGroupTable createAlias(String alias) {
- return $UserGroupTable(attachedDatabase, alias);
+ $PlayerGroupTableTable createAlias(String alias) {
+ return $PlayerGroupTableTable(attachedDatabase, alias);
}
}
-class UserGroupData extends DataClass implements Insertable {
+class PlayerGroupTableData extends DataClass
+ implements Insertable {
final String userId;
final String groupId;
- const UserGroupData({required this.userId, required this.groupId});
+ const PlayerGroupTableData({required this.userId, required this.groupId});
@override
Map toColumns(bool nullToAbsent) {
final map = {};
@@ -507,16 +514,19 @@ class UserGroupData extends DataClass implements Insertable {
return map;
}
- UserGroupCompanion toCompanion(bool nullToAbsent) {
- return UserGroupCompanion(userId: Value(userId), groupId: Value(groupId));
+ PlayerGroupTableCompanion toCompanion(bool nullToAbsent) {
+ return PlayerGroupTableCompanion(
+ userId: Value(userId),
+ groupId: Value(groupId),
+ );
}
- factory UserGroupData.fromJson(
+ factory PlayerGroupTableData.fromJson(
Map json, {
ValueSerializer? serializer,
}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
- return UserGroupData(
+ return PlayerGroupTableData(
userId: serializer.fromJson(json['userId']),
groupId: serializer.fromJson(json['groupId']),
);
@@ -530,12 +540,13 @@ class UserGroupData extends DataClass implements Insertable {
};
}
- UserGroupData copyWith({String? userId, String? groupId}) => UserGroupData(
- userId: userId ?? this.userId,
- groupId: groupId ?? this.groupId,
- );
- UserGroupData copyWithCompanion(UserGroupCompanion data) {
- return UserGroupData(
+ PlayerGroupTableData copyWith({String? userId, String? groupId}) =>
+ PlayerGroupTableData(
+ userId: userId ?? this.userId,
+ groupId: groupId ?? this.groupId,
+ );
+ PlayerGroupTableData copyWithCompanion(PlayerGroupTableCompanion data) {
+ return PlayerGroupTableData(
userId: data.userId.present ? data.userId.value : this.userId,
groupId: data.groupId.present ? data.groupId.value : this.groupId,
);
@@ -543,7 +554,7 @@ class UserGroupData extends DataClass implements Insertable {
@override
String toString() {
- return (StringBuffer('UserGroupData(')
+ return (StringBuffer('PlayerGroupTableData(')
..write('userId: $userId, ')
..write('groupId: $groupId')
..write(')'))
@@ -555,27 +566,27 @@ class UserGroupData extends DataClass implements Insertable {
@override
bool operator ==(Object other) =>
identical(this, other) ||
- (other is UserGroupData &&
+ (other is PlayerGroupTableData &&
other.userId == this.userId &&
other.groupId == this.groupId);
}
-class UserGroupCompanion extends UpdateCompanion {
+class PlayerGroupTableCompanion extends UpdateCompanion {
final Value userId;
final Value groupId;
final Value rowid;
- const UserGroupCompanion({
+ const PlayerGroupTableCompanion({
this.userId = const Value.absent(),
this.groupId = const Value.absent(),
this.rowid = const Value.absent(),
});
- UserGroupCompanion.insert({
+ PlayerGroupTableCompanion.insert({
required String userId,
required String groupId,
this.rowid = const Value.absent(),
}) : userId = Value(userId),
groupId = Value(groupId);
- static Insertable custom({
+ static Insertable custom({
Expression? userId,
Expression? groupId,
Expression? rowid,
@@ -587,12 +598,12 @@ class UserGroupCompanion extends UpdateCompanion {
});
}
- UserGroupCompanion copyWith({
+ PlayerGroupTableCompanion copyWith({
Value? userId,
Value? groupId,
Value? rowid,
}) {
- return UserGroupCompanion(
+ return PlayerGroupTableCompanion(
userId: userId ?? this.userId,
groupId: groupId ?? this.groupId,
rowid: rowid ?? this.rowid,
@@ -616,7 +627,7 @@ class UserGroupCompanion extends UpdateCompanion {
@override
String toString() {
- return (StringBuffer('UserGroupCompanion(')
+ return (StringBuffer('PlayerGroupTableCompanion(')
..write('userId: $userId, ')
..write('groupId: $groupId, ')
..write('rowid: $rowid')
@@ -625,57 +636,282 @@ class UserGroupCompanion extends UpdateCompanion {
}
}
+class $GameTableTable extends GameTable
+ with TableInfo<$GameTableTable, GameTableData> {
+ @override
+ final GeneratedDatabase attachedDatabase;
+ final String? _alias;
+ $GameTableTable(this.attachedDatabase, [this._alias]);
+ static const VerificationMeta _idMeta = const VerificationMeta('id');
+ @override
+ late final GeneratedColumn id = GeneratedColumn(
+ 'id',
+ aliasedName,
+ false,
+ type: DriftSqlType.string,
+ requiredDuringInsert: true,
+ );
+ static const VerificationMeta _nameMeta = const VerificationMeta('name');
+ @override
+ late final GeneratedColumn name = GeneratedColumn(
+ 'name',
+ aliasedName,
+ false,
+ type: DriftSqlType.string,
+ requiredDuringInsert: true,
+ );
+ @override
+ List get $columns => [id, name];
+ @override
+ String get aliasedName => _alias ?? actualTableName;
+ @override
+ String get actualTableName => $name;
+ static const String $name = 'game_table';
+ @override
+ VerificationContext validateIntegrity(
+ Insertable instance, {
+ bool isInserting = false,
+ }) {
+ final context = VerificationContext();
+ final data = instance.toColumns(true);
+ if (data.containsKey('id')) {
+ context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta));
+ } else if (isInserting) {
+ context.missing(_idMeta);
+ }
+ if (data.containsKey('name')) {
+ context.handle(
+ _nameMeta,
+ name.isAcceptableOrUnknown(data['name']!, _nameMeta),
+ );
+ } else if (isInserting) {
+ context.missing(_nameMeta);
+ }
+ return context;
+ }
+
+ @override
+ Set get $primaryKey => {id};
+ @override
+ GameTableData map(Map data, {String? tablePrefix}) {
+ final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
+ return GameTableData(
+ id: attachedDatabase.typeMapping.read(
+ DriftSqlType.string,
+ data['${effectivePrefix}id'],
+ )!,
+ name: attachedDatabase.typeMapping.read(
+ DriftSqlType.string,
+ data['${effectivePrefix}name'],
+ )!,
+ );
+ }
+
+ @override
+ $GameTableTable createAlias(String alias) {
+ return $GameTableTable(attachedDatabase, alias);
+ }
+}
+
+class GameTableData extends DataClass implements Insertable {
+ final String id;
+ final String name;
+ const GameTableData({required this.id, required this.name});
+ @override
+ Map toColumns(bool nullToAbsent) {
+ final map = {};
+ map['id'] = Variable(id);
+ map['name'] = Variable(name);
+ return map;
+ }
+
+ GameTableCompanion toCompanion(bool nullToAbsent) {
+ return GameTableCompanion(id: Value(id), name: Value(name));
+ }
+
+ factory GameTableData.fromJson(
+ Map json, {
+ ValueSerializer? serializer,
+ }) {
+ serializer ??= driftRuntimeOptions.defaultSerializer;
+ return GameTableData(
+ id: serializer.fromJson(json['id']),
+ name: serializer.fromJson(json['name']),
+ );
+ }
+ @override
+ Map toJson({ValueSerializer? serializer}) {
+ serializer ??= driftRuntimeOptions.defaultSerializer;
+ return {
+ 'id': serializer.toJson(id),
+ 'name': serializer.toJson(name),
+ };
+ }
+
+ GameTableData copyWith({String? id, String? name}) =>
+ GameTableData(id: id ?? this.id, name: name ?? this.name);
+ GameTableData copyWithCompanion(GameTableCompanion data) {
+ return GameTableData(
+ id: data.id.present ? data.id.value : this.id,
+ name: data.name.present ? data.name.value : this.name,
+ );
+ }
+
+ @override
+ String toString() {
+ return (StringBuffer('GameTableData(')
+ ..write('id: $id, ')
+ ..write('name: $name')
+ ..write(')'))
+ .toString();
+ }
+
+ @override
+ int get hashCode => Object.hash(id, name);
+ @override
+ bool operator ==(Object other) =>
+ identical(this, other) ||
+ (other is GameTableData &&
+ other.id == this.id &&
+ other.name == this.name);
+}
+
+class GameTableCompanion extends UpdateCompanion {
+ final Value id;
+ final Value name;
+ final Value rowid;
+ const GameTableCompanion({
+ this.id = const Value.absent(),
+ this.name = const Value.absent(),
+ this.rowid = const Value.absent(),
+ });
+ GameTableCompanion.insert({
+ required String id,
+ required String name,
+ this.rowid = const Value.absent(),
+ }) : id = Value(id),
+ name = Value(name);
+ static Insertable custom({
+ Expression? id,
+ Expression? name,
+ Expression? rowid,
+ }) {
+ return RawValuesInsertable({
+ if (id != null) 'id': id,
+ if (name != null) 'name': name,
+ if (rowid != null) 'rowid': rowid,
+ });
+ }
+
+ GameTableCompanion copyWith({
+ Value? id,
+ Value? name,
+ Value? rowid,
+ }) {
+ return GameTableCompanion(
+ id: id ?? this.id,
+ name: name ?? this.name,
+ rowid: rowid ?? this.rowid,
+ );
+ }
+
+ @override
+ Map toColumns(bool nullToAbsent) {
+ final map = {};
+ if (id.present) {
+ map['id'] = Variable(id.value);
+ }
+ if (name.present) {
+ map['name'] = Variable(name.value);
+ }
+ if (rowid.present) {
+ map['rowid'] = Variable(rowid.value);
+ }
+ return map;
+ }
+
+ @override
+ String toString() {
+ return (StringBuffer('GameTableCompanion(')
+ ..write('id: $id, ')
+ ..write('name: $name, ')
+ ..write('rowid: $rowid')
+ ..write(')'))
+ .toString();
+ }
+}
+
abstract class _$AppDatabase extends GeneratedDatabase {
_$AppDatabase(QueryExecutor e) : super(e);
$AppDatabaseManager get managers => $AppDatabaseManager(this);
- late final $UserTable user = $UserTable(this);
- late final $GroupTable group = $GroupTable(this);
- late final $UserGroupTable userGroup = $UserGroupTable(this);
+ late final $PlayerTableTable playerTable = $PlayerTableTable(this);
+ late final $GroupTableTable groupTable = $GroupTableTable(this);
+ late final $PlayerGroupTableTable playerGroupTable = $PlayerGroupTableTable(
+ this,
+ );
+ late final $GameTableTable gameTable = $GameTableTable(this);
+ late final GroupDao groupDao = GroupDao(this as AppDatabase);
+ late final PlayerDao playerDao = PlayerDao(this as AppDatabase);
+ late final PlayerGroupDao playerGroupDao = PlayerGroupDao(
+ this as AppDatabase,
+ );
+ late final GameDao gameDao = GameDao(this as AppDatabase);
@override
Iterable> get allTables =>
allSchemaEntities.whereType>();
@override
- List get allSchemaEntities => [user, group, userGroup];
+ List get allSchemaEntities => [
+ playerTable,
+ groupTable,
+ playerGroupTable,
+ gameTable,
+ ];
}
-typedef $$UserTableCreateCompanionBuilder =
- UserCompanion Function({
+typedef $$PlayerTableTableCreateCompanionBuilder =
+ PlayerTableCompanion Function({
required String id,
required String name,
Value rowid,
});
-typedef $$UserTableUpdateCompanionBuilder =
- UserCompanion Function({
+typedef $$PlayerTableTableUpdateCompanionBuilder =
+ PlayerTableCompanion Function({
Value id,
Value name,
Value rowid,
});
-final class $$UserTableReferences
- extends BaseReferences<_$AppDatabase, $UserTable, UserData> {
- $$UserTableReferences(super.$_db, super.$_table, super.$_typedResult);
+final class $$PlayerTableTableReferences
+ extends BaseReferences<_$AppDatabase, $PlayerTableTable, PlayerTableData> {
+ $$PlayerTableTableReferences(super.$_db, super.$_table, super.$_typedResult);
- static MultiTypedResultKey<$UserGroupTable, List>
- _userGroupRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable(
- db.userGroup,
- aliasName: $_aliasNameGenerator(db.user.id, db.userGroup.userId),
+ static MultiTypedResultKey<$PlayerGroupTableTable, List>
+ _playerGroupTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable(
+ db.playerGroupTable,
+ aliasName: $_aliasNameGenerator(
+ db.playerTable.id,
+ db.playerGroupTable.userId,
+ ),
);
- $$UserGroupTableProcessedTableManager get userGroupRefs {
- final manager = $$UserGroupTableTableManager(
+ $$PlayerGroupTableTableProcessedTableManager get playerGroupTableRefs {
+ final manager = $$PlayerGroupTableTableTableManager(
$_db,
- $_db.userGroup,
+ $_db.playerGroupTable,
).filter((f) => f.userId.id.sqlEquals($_itemColumn('id')!));
- final cache = $_typedResult.readTableOrNull(_userGroupRefsTable($_db));
+ final cache = $_typedResult.readTableOrNull(
+ _playerGroupTableRefsTable($_db),
+ );
return ProcessedTableManager(
manager.$state.copyWith(prefetchedData: cache),
);
}
}
-class $$UserTableFilterComposer extends Composer<_$AppDatabase, $UserTable> {
- $$UserTableFilterComposer({
+class $$PlayerTableTableFilterComposer
+ extends Composer<_$AppDatabase, $PlayerTableTable> {
+ $$PlayerTableTableFilterComposer({
required super.$db,
required super.$table,
super.joinBuilder,
@@ -692,22 +928,22 @@ class $$UserTableFilterComposer extends Composer<_$AppDatabase, $UserTable> {
builder: (column) => ColumnFilters(column),
);
- Expression userGroupRefs(
- Expression Function($$UserGroupTableFilterComposer f) f,
+ Expression playerGroupTableRefs(
+ Expression Function($$PlayerGroupTableTableFilterComposer f) f,
) {
- final $$UserGroupTableFilterComposer composer = $composerBuilder(
+ final $$PlayerGroupTableTableFilterComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.id,
- referencedTable: $db.userGroup,
+ referencedTable: $db.playerGroupTable,
getReferencedColumn: (t) => t.userId,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$UserGroupTableFilterComposer(
+ }) => $$PlayerGroupTableTableFilterComposer(
$db: $db,
- $table: $db.userGroup,
+ $table: $db.playerGroupTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -718,8 +954,9 @@ class $$UserTableFilterComposer extends Composer<_$AppDatabase, $UserTable> {
}
}
-class $$UserTableOrderingComposer extends Composer<_$AppDatabase, $UserTable> {
- $$UserTableOrderingComposer({
+class $$PlayerTableTableOrderingComposer
+ extends Composer<_$AppDatabase, $PlayerTableTable> {
+ $$PlayerTableTableOrderingComposer({
required super.$db,
required super.$table,
super.joinBuilder,
@@ -737,9 +974,9 @@ class $$UserTableOrderingComposer extends Composer<_$AppDatabase, $UserTable> {
);
}
-class $$UserTableAnnotationComposer
- extends Composer<_$AppDatabase, $UserTable> {
- $$UserTableAnnotationComposer({
+class $$PlayerTableTableAnnotationComposer
+ extends Composer<_$AppDatabase, $PlayerTableTable> {
+ $$PlayerTableTableAnnotationComposer({
required super.$db,
required super.$table,
super.joinBuilder,
@@ -752,22 +989,22 @@ class $$UserTableAnnotationComposer
GeneratedColumn get name =>
$composableBuilder(column: $table.name, builder: (column) => column);
- Expression userGroupRefs(
- Expression Function($$UserGroupTableAnnotationComposer a) f,
+ Expression playerGroupTableRefs(
+ Expression Function($$PlayerGroupTableTableAnnotationComposer a) f,
) {
- final $$UserGroupTableAnnotationComposer composer = $composerBuilder(
+ final $$PlayerGroupTableTableAnnotationComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.id,
- referencedTable: $db.userGroup,
+ referencedTable: $db.playerGroupTable,
getReferencedColumn: (t) => t.userId,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$UserGroupTableAnnotationComposer(
+ }) => $$PlayerGroupTableTableAnnotationComposer(
$db: $db,
- $table: $db.userGroup,
+ $table: $db.playerGroupTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -778,68 +1015,77 @@ class $$UserTableAnnotationComposer
}
}
-class $$UserTableTableManager
+class $$PlayerTableTableTableManager
extends
RootTableManager<
_$AppDatabase,
- $UserTable,
- UserData,
- $$UserTableFilterComposer,
- $$UserTableOrderingComposer,
- $$UserTableAnnotationComposer,
- $$UserTableCreateCompanionBuilder,
- $$UserTableUpdateCompanionBuilder,
- (UserData, $$UserTableReferences),
- UserData,
- PrefetchHooks Function({bool userGroupRefs})
+ $PlayerTableTable,
+ PlayerTableData,
+ $$PlayerTableTableFilterComposer,
+ $$PlayerTableTableOrderingComposer,
+ $$PlayerTableTableAnnotationComposer,
+ $$PlayerTableTableCreateCompanionBuilder,
+ $$PlayerTableTableUpdateCompanionBuilder,
+ (PlayerTableData, $$PlayerTableTableReferences),
+ PlayerTableData,
+ PrefetchHooks Function({bool playerGroupTableRefs})
> {
- $$UserTableTableManager(_$AppDatabase db, $UserTable table)
+ $$PlayerTableTableTableManager(_$AppDatabase db, $PlayerTableTable table)
: super(
TableManagerState(
db: db,
table: table,
createFilteringComposer: () =>
- $$UserTableFilterComposer($db: db, $table: table),
+ $$PlayerTableTableFilterComposer($db: db, $table: table),
createOrderingComposer: () =>
- $$UserTableOrderingComposer($db: db, $table: table),
+ $$PlayerTableTableOrderingComposer($db: db, $table: table),
createComputedFieldComposer: () =>
- $$UserTableAnnotationComposer($db: db, $table: table),
+ $$PlayerTableTableAnnotationComposer($db: db, $table: table),
updateCompanionCallback:
({
Value id = const Value.absent(),
Value name = const Value.absent(),
Value rowid = const Value.absent(),
- }) => UserCompanion(id: id, name: name, rowid: rowid),
+ }) => PlayerTableCompanion(id: id, name: name, rowid: rowid),
createCompanionCallback:
({
required String id,
required String name,
Value rowid = const Value.absent(),
- }) => UserCompanion.insert(id: id, name: name, rowid: rowid),
+ }) =>
+ PlayerTableCompanion.insert(id: id, name: name, rowid: rowid),
withReferenceMapper: (p0) => p0
.map(
- (e) =>
- (e.readTable(table), $$UserTableReferences(db, table, e)),
+ (e) => (
+ e.readTable(table),
+ $$PlayerTableTableReferences(db, table, e),
+ ),
)
.toList(),
- prefetchHooksCallback: ({userGroupRefs = false}) {
+ prefetchHooksCallback: ({playerGroupTableRefs = false}) {
return PrefetchHooks(
db: db,
- explicitlyWatchedTables: [if (userGroupRefs) db.userGroup],
+ explicitlyWatchedTables: [
+ if (playerGroupTableRefs) db.playerGroupTable,
+ ],
addJoins: null,
getPrefetchedDataCallback: (items) async {
return [
- if (userGroupRefs)
+ if (playerGroupTableRefs)
await $_getPrefetchedData<
- UserData,
- $UserTable,
- UserGroupData
+ PlayerTableData,
+ $PlayerTableTable,
+ PlayerGroupTableData
>(
currentTable: table,
- referencedTable: $$UserTableReferences
- ._userGroupRefsTable(db),
+ referencedTable: $$PlayerTableTableReferences
+ ._playerGroupTableRefsTable(db),
managerFromTypedResult: (p0) =>
- $$UserTableReferences(db, table, p0).userGroupRefs,
+ $$PlayerTableTableReferences(
+ db,
+ table,
+ p0,
+ ).playerGroupTableRefs,
referencedItemsForCurrentItem: (item, referencedItems) =>
referencedItems.where((e) => e.userId == item.id),
typedResults: items,
@@ -852,58 +1098,64 @@ class $$UserTableTableManager
);
}
-typedef $$UserTableProcessedTableManager =
+typedef $$PlayerTableTableProcessedTableManager =
ProcessedTableManager<
_$AppDatabase,
- $UserTable,
- UserData,
- $$UserTableFilterComposer,
- $$UserTableOrderingComposer,
- $$UserTableAnnotationComposer,
- $$UserTableCreateCompanionBuilder,
- $$UserTableUpdateCompanionBuilder,
- (UserData, $$UserTableReferences),
- UserData,
- PrefetchHooks Function({bool userGroupRefs})
+ $PlayerTableTable,
+ PlayerTableData,
+ $$PlayerTableTableFilterComposer,
+ $$PlayerTableTableOrderingComposer,
+ $$PlayerTableTableAnnotationComposer,
+ $$PlayerTableTableCreateCompanionBuilder,
+ $$PlayerTableTableUpdateCompanionBuilder,
+ (PlayerTableData, $$PlayerTableTableReferences),
+ PlayerTableData,
+ PrefetchHooks Function({bool playerGroupTableRefs})
>;
-typedef $$GroupTableCreateCompanionBuilder =
- GroupCompanion Function({
+typedef $$GroupTableTableCreateCompanionBuilder =
+ GroupTableCompanion Function({
required String id,
required String name,
Value rowid,
});
-typedef $$GroupTableUpdateCompanionBuilder =
- GroupCompanion Function({
+typedef $$GroupTableTableUpdateCompanionBuilder =
+ GroupTableCompanion Function({
Value id,
Value name,
Value rowid,
});
-final class $$GroupTableReferences
- extends BaseReferences<_$AppDatabase, $GroupTable, GroupData> {
- $$GroupTableReferences(super.$_db, super.$_table, super.$_typedResult);
+final class $$GroupTableTableReferences
+ extends BaseReferences<_$AppDatabase, $GroupTableTable, GroupTableData> {
+ $$GroupTableTableReferences(super.$_db, super.$_table, super.$_typedResult);
- static MultiTypedResultKey<$UserGroupTable, List>
- _userGroupRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable(
- db.userGroup,
- aliasName: $_aliasNameGenerator(db.group.id, db.userGroup.groupId),
+ static MultiTypedResultKey<$PlayerGroupTableTable, List>
+ _playerGroupTableRefsTable(_$AppDatabase db) => MultiTypedResultKey.fromTable(
+ db.playerGroupTable,
+ aliasName: $_aliasNameGenerator(
+ db.groupTable.id,
+ db.playerGroupTable.groupId,
+ ),
);
- $$UserGroupTableProcessedTableManager get userGroupRefs {
- final manager = $$UserGroupTableTableManager(
+ $$PlayerGroupTableTableProcessedTableManager get playerGroupTableRefs {
+ final manager = $$PlayerGroupTableTableTableManager(
$_db,
- $_db.userGroup,
+ $_db.playerGroupTable,
).filter((f) => f.groupId.id.sqlEquals($_itemColumn('id')!));
- final cache = $_typedResult.readTableOrNull(_userGroupRefsTable($_db));
+ final cache = $_typedResult.readTableOrNull(
+ _playerGroupTableRefsTable($_db),
+ );
return ProcessedTableManager(
manager.$state.copyWith(prefetchedData: cache),
);
}
}
-class $$GroupTableFilterComposer extends Composer<_$AppDatabase, $GroupTable> {
- $$GroupTableFilterComposer({
+class $$GroupTableTableFilterComposer
+ extends Composer<_$AppDatabase, $GroupTableTable> {
+ $$GroupTableTableFilterComposer({
required super.$db,
required super.$table,
super.joinBuilder,
@@ -920,22 +1172,22 @@ class $$GroupTableFilterComposer extends Composer<_$AppDatabase, $GroupTable> {
builder: (column) => ColumnFilters(column),
);
- Expression userGroupRefs(
- Expression Function($$UserGroupTableFilterComposer f) f,
+ Expression playerGroupTableRefs(
+ Expression Function($$PlayerGroupTableTableFilterComposer f) f,
) {
- final $$UserGroupTableFilterComposer composer = $composerBuilder(
+ final $$PlayerGroupTableTableFilterComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.id,
- referencedTable: $db.userGroup,
+ referencedTable: $db.playerGroupTable,
getReferencedColumn: (t) => t.groupId,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$UserGroupTableFilterComposer(
+ }) => $$PlayerGroupTableTableFilterComposer(
$db: $db,
- $table: $db.userGroup,
+ $table: $db.playerGroupTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -946,9 +1198,9 @@ class $$GroupTableFilterComposer extends Composer<_$AppDatabase, $GroupTable> {
}
}
-class $$GroupTableOrderingComposer
- extends Composer<_$AppDatabase, $GroupTable> {
- $$GroupTableOrderingComposer({
+class $$GroupTableTableOrderingComposer
+ extends Composer<_$AppDatabase, $GroupTableTable> {
+ $$GroupTableTableOrderingComposer({
required super.$db,
required super.$table,
super.joinBuilder,
@@ -966,9 +1218,9 @@ class $$GroupTableOrderingComposer
);
}
-class $$GroupTableAnnotationComposer
- extends Composer<_$AppDatabase, $GroupTable> {
- $$GroupTableAnnotationComposer({
+class $$GroupTableTableAnnotationComposer
+ extends Composer<_$AppDatabase, $GroupTableTable> {
+ $$GroupTableTableAnnotationComposer({
required super.$db,
required super.$table,
super.joinBuilder,
@@ -981,22 +1233,22 @@ class $$GroupTableAnnotationComposer
GeneratedColumn get name =>
$composableBuilder(column: $table.name, builder: (column) => column);
- Expression userGroupRefs(
- Expression Function($$UserGroupTableAnnotationComposer a) f,
+ Expression playerGroupTableRefs(
+ Expression Function($$PlayerGroupTableTableAnnotationComposer a) f,
) {
- final $$UserGroupTableAnnotationComposer composer = $composerBuilder(
+ final $$PlayerGroupTableTableAnnotationComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.id,
- referencedTable: $db.userGroup,
+ referencedTable: $db.playerGroupTable,
getReferencedColumn: (t) => t.groupId,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$UserGroupTableAnnotationComposer(
+ }) => $$PlayerGroupTableTableAnnotationComposer(
$db: $db,
- $table: $db.userGroup,
+ $table: $db.playerGroupTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -1007,68 +1259,77 @@ class $$GroupTableAnnotationComposer
}
}
-class $$GroupTableTableManager
+class $$GroupTableTableTableManager
extends
RootTableManager<
_$AppDatabase,
- $GroupTable,
- GroupData,
- $$GroupTableFilterComposer,
- $$GroupTableOrderingComposer,
- $$GroupTableAnnotationComposer,
- $$GroupTableCreateCompanionBuilder,
- $$GroupTableUpdateCompanionBuilder,
- (GroupData, $$GroupTableReferences),
- GroupData,
- PrefetchHooks Function({bool userGroupRefs})
+ $GroupTableTable,
+ GroupTableData,
+ $$GroupTableTableFilterComposer,
+ $$GroupTableTableOrderingComposer,
+ $$GroupTableTableAnnotationComposer,
+ $$GroupTableTableCreateCompanionBuilder,
+ $$GroupTableTableUpdateCompanionBuilder,
+ (GroupTableData, $$GroupTableTableReferences),
+ GroupTableData,
+ PrefetchHooks Function({bool playerGroupTableRefs})
> {
- $$GroupTableTableManager(_$AppDatabase db, $GroupTable table)
+ $$GroupTableTableTableManager(_$AppDatabase db, $GroupTableTable table)
: super(
TableManagerState(
db: db,
table: table,
createFilteringComposer: () =>
- $$GroupTableFilterComposer($db: db, $table: table),
+ $$GroupTableTableFilterComposer($db: db, $table: table),
createOrderingComposer: () =>
- $$GroupTableOrderingComposer($db: db, $table: table),
+ $$GroupTableTableOrderingComposer($db: db, $table: table),
createComputedFieldComposer: () =>
- $$GroupTableAnnotationComposer($db: db, $table: table),
+ $$GroupTableTableAnnotationComposer($db: db, $table: table),
updateCompanionCallback:
({
Value id = const Value.absent(),
Value name = const Value.absent(),
Value rowid = const Value.absent(),
- }) => GroupCompanion(id: id, name: name, rowid: rowid),
+ }) => GroupTableCompanion(id: id, name: name, rowid: rowid),
createCompanionCallback:
({
required String id,
required String name,
Value rowid = const Value.absent(),
- }) => GroupCompanion.insert(id: id, name: name, rowid: rowid),
+ }) =>
+ GroupTableCompanion.insert(id: id, name: name, rowid: rowid),
withReferenceMapper: (p0) => p0
.map(
- (e) =>
- (e.readTable(table), $$GroupTableReferences(db, table, e)),
+ (e) => (
+ e.readTable(table),
+ $$GroupTableTableReferences(db, table, e),
+ ),
)
.toList(),
- prefetchHooksCallback: ({userGroupRefs = false}) {
+ prefetchHooksCallback: ({playerGroupTableRefs = false}) {
return PrefetchHooks(
db: db,
- explicitlyWatchedTables: [if (userGroupRefs) db.userGroup],
+ explicitlyWatchedTables: [
+ if (playerGroupTableRefs) db.playerGroupTable,
+ ],
addJoins: null,
getPrefetchedDataCallback: (items) async {
return [
- if (userGroupRefs)
+ if (playerGroupTableRefs)
await $_getPrefetchedData<
- GroupData,
- $GroupTable,
- UserGroupData
+ GroupTableData,
+ $GroupTableTable,
+ PlayerGroupTableData
>(
currentTable: table,
- referencedTable: $$GroupTableReferences
- ._userGroupRefsTable(db),
+ referencedTable: $$GroupTableTableReferences
+ ._playerGroupTableRefsTable(db),
managerFromTypedResult: (p0) =>
- $$GroupTableReferences(db, table, p0).userGroupRefs,
+ $$GroupTableTableReferences(
+ db,
+ table,
+ p0,
+ ).playerGroupTableRefs,
referencedItemsForCurrentItem: (item, referencedItems) =>
referencedItems.where((e) => e.groupId == item.id),
typedResults: items,
@@ -1081,47 +1342,57 @@ class $$GroupTableTableManager
);
}
-typedef $$GroupTableProcessedTableManager =
+typedef $$GroupTableTableProcessedTableManager =
ProcessedTableManager<
_$AppDatabase,
- $GroupTable,
- GroupData,
- $$GroupTableFilterComposer,
- $$GroupTableOrderingComposer,
- $$GroupTableAnnotationComposer,
- $$GroupTableCreateCompanionBuilder,
- $$GroupTableUpdateCompanionBuilder,
- (GroupData, $$GroupTableReferences),
- GroupData,
- PrefetchHooks Function({bool userGroupRefs})
+ $GroupTableTable,
+ GroupTableData,
+ $$GroupTableTableFilterComposer,
+ $$GroupTableTableOrderingComposer,
+ $$GroupTableTableAnnotationComposer,
+ $$GroupTableTableCreateCompanionBuilder,
+ $$GroupTableTableUpdateCompanionBuilder,
+ (GroupTableData, $$GroupTableTableReferences),
+ GroupTableData,
+ PrefetchHooks Function({bool playerGroupTableRefs})
>;
-typedef $$UserGroupTableCreateCompanionBuilder =
- UserGroupCompanion Function({
+typedef $$PlayerGroupTableTableCreateCompanionBuilder =
+ PlayerGroupTableCompanion Function({
required String userId,
required String groupId,
Value rowid,
});
-typedef $$UserGroupTableUpdateCompanionBuilder =
- UserGroupCompanion Function({
+typedef $$PlayerGroupTableTableUpdateCompanionBuilder =
+ PlayerGroupTableCompanion Function({
Value userId,
Value groupId,
Value rowid,
});
-final class $$UserGroupTableReferences
- extends BaseReferences<_$AppDatabase, $UserGroupTable, UserGroupData> {
- $$UserGroupTableReferences(super.$_db, super.$_table, super.$_typedResult);
-
- static $UserTable _userIdTable(_$AppDatabase db) => db.user.createAlias(
- $_aliasNameGenerator(db.userGroup.userId, db.user.id),
+final class $$PlayerGroupTableTableReferences
+ extends
+ BaseReferences<
+ _$AppDatabase,
+ $PlayerGroupTableTable,
+ PlayerGroupTableData
+ > {
+ $$PlayerGroupTableTableReferences(
+ super.$_db,
+ super.$_table,
+ super.$_typedResult,
);
- $$UserTableProcessedTableManager get userId {
+ static $PlayerTableTable _userIdTable(_$AppDatabase db) =>
+ db.playerTable.createAlias(
+ $_aliasNameGenerator(db.playerGroupTable.userId, db.playerTable.id),
+ );
+
+ $$PlayerTableTableProcessedTableManager get userId {
final $_column = $_itemColumn('user_id')!;
- final manager = $$UserTableTableManager(
+ final manager = $$PlayerTableTableTableManager(
$_db,
- $_db.user,
+ $_db.playerTable,
).filter((f) => f.id.sqlEquals($_column));
final item = $_typedResult.readTableOrNull(_userIdTable($_db));
if (item == null) return manager;
@@ -1130,16 +1401,17 @@ final class $$UserGroupTableReferences
);
}
- static $GroupTable _groupIdTable(_$AppDatabase db) => db.group.createAlias(
- $_aliasNameGenerator(db.userGroup.groupId, db.group.id),
- );
+ static $GroupTableTable _groupIdTable(_$AppDatabase db) =>
+ db.groupTable.createAlias(
+ $_aliasNameGenerator(db.playerGroupTable.groupId, db.groupTable.id),
+ );
- $$GroupTableProcessedTableManager get groupId {
+ $$GroupTableTableProcessedTableManager get groupId {
final $_column = $_itemColumn('group_id')!;
- final manager = $$GroupTableTableManager(
+ final manager = $$GroupTableTableTableManager(
$_db,
- $_db.group,
+ $_db.groupTable,
).filter((f) => f.id.sqlEquals($_column));
final item = $_typedResult.readTableOrNull(_groupIdTable($_db));
if (item == null) return manager;
@@ -1149,29 +1421,29 @@ final class $$UserGroupTableReferences
}
}
-class $$UserGroupTableFilterComposer
- extends Composer<_$AppDatabase, $UserGroupTable> {
- $$UserGroupTableFilterComposer({
+class $$PlayerGroupTableTableFilterComposer
+ extends Composer<_$AppDatabase, $PlayerGroupTableTable> {
+ $$PlayerGroupTableTableFilterComposer({
required super.$db,
required super.$table,
super.joinBuilder,
super.$addJoinBuilderToRootComposer,
super.$removeJoinBuilderFromRootComposer,
});
- $$UserTableFilterComposer get userId {
- final $$UserTableFilterComposer composer = $composerBuilder(
+ $$PlayerTableTableFilterComposer get userId {
+ final $$PlayerTableTableFilterComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.userId,
- referencedTable: $db.user,
+ referencedTable: $db.playerTable,
getReferencedColumn: (t) => t.id,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$UserTableFilterComposer(
+ }) => $$PlayerTableTableFilterComposer(
$db: $db,
- $table: $db.user,
+ $table: $db.playerTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -1181,20 +1453,20 @@ class $$UserGroupTableFilterComposer
return composer;
}
- $$GroupTableFilterComposer get groupId {
- final $$GroupTableFilterComposer composer = $composerBuilder(
+ $$GroupTableTableFilterComposer get groupId {
+ final $$GroupTableTableFilterComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.groupId,
- referencedTable: $db.group,
+ referencedTable: $db.groupTable,
getReferencedColumn: (t) => t.id,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$GroupTableFilterComposer(
+ }) => $$GroupTableTableFilterComposer(
$db: $db,
- $table: $db.group,
+ $table: $db.groupTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -1205,29 +1477,29 @@ class $$UserGroupTableFilterComposer
}
}
-class $$UserGroupTableOrderingComposer
- extends Composer<_$AppDatabase, $UserGroupTable> {
- $$UserGroupTableOrderingComposer({
+class $$PlayerGroupTableTableOrderingComposer
+ extends Composer<_$AppDatabase, $PlayerGroupTableTable> {
+ $$PlayerGroupTableTableOrderingComposer({
required super.$db,
required super.$table,
super.joinBuilder,
super.$addJoinBuilderToRootComposer,
super.$removeJoinBuilderFromRootComposer,
});
- $$UserTableOrderingComposer get userId {
- final $$UserTableOrderingComposer composer = $composerBuilder(
+ $$PlayerTableTableOrderingComposer get userId {
+ final $$PlayerTableTableOrderingComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.userId,
- referencedTable: $db.user,
+ referencedTable: $db.playerTable,
getReferencedColumn: (t) => t.id,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$UserTableOrderingComposer(
+ }) => $$PlayerTableTableOrderingComposer(
$db: $db,
- $table: $db.user,
+ $table: $db.playerTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -1237,20 +1509,20 @@ class $$UserGroupTableOrderingComposer
return composer;
}
- $$GroupTableOrderingComposer get groupId {
- final $$GroupTableOrderingComposer composer = $composerBuilder(
+ $$GroupTableTableOrderingComposer get groupId {
+ final $$GroupTableTableOrderingComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.groupId,
- referencedTable: $db.group,
+ referencedTable: $db.groupTable,
getReferencedColumn: (t) => t.id,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$GroupTableOrderingComposer(
+ }) => $$GroupTableTableOrderingComposer(
$db: $db,
- $table: $db.group,
+ $table: $db.groupTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -1261,29 +1533,29 @@ class $$UserGroupTableOrderingComposer
}
}
-class $$UserGroupTableAnnotationComposer
- extends Composer<_$AppDatabase, $UserGroupTable> {
- $$UserGroupTableAnnotationComposer({
+class $$PlayerGroupTableTableAnnotationComposer
+ extends Composer<_$AppDatabase, $PlayerGroupTableTable> {
+ $$PlayerGroupTableTableAnnotationComposer({
required super.$db,
required super.$table,
super.joinBuilder,
super.$addJoinBuilderToRootComposer,
super.$removeJoinBuilderFromRootComposer,
});
- $$UserTableAnnotationComposer get userId {
- final $$UserTableAnnotationComposer composer = $composerBuilder(
+ $$PlayerTableTableAnnotationComposer get userId {
+ final $$PlayerTableTableAnnotationComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.userId,
- referencedTable: $db.user,
+ referencedTable: $db.playerTable,
getReferencedColumn: (t) => t.id,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$UserTableAnnotationComposer(
+ }) => $$PlayerTableTableAnnotationComposer(
$db: $db,
- $table: $db.user,
+ $table: $db.playerTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -1293,20 +1565,20 @@ class $$UserGroupTableAnnotationComposer
return composer;
}
- $$GroupTableAnnotationComposer get groupId {
- final $$GroupTableAnnotationComposer composer = $composerBuilder(
+ $$GroupTableTableAnnotationComposer get groupId {
+ final $$GroupTableTableAnnotationComposer composer = $composerBuilder(
composer: this,
getCurrentColumn: (t) => t.groupId,
- referencedTable: $db.group,
+ referencedTable: $db.groupTable,
getReferencedColumn: (t) => t.id,
builder:
(
joinBuilder, {
$addJoinBuilderToRootComposer,
$removeJoinBuilderFromRootComposer,
- }) => $$GroupTableAnnotationComposer(
+ }) => $$GroupTableTableAnnotationComposer(
$db: $db,
- $table: $db.group,
+ $table: $db.groupTable,
$addJoinBuilderToRootComposer: $addJoinBuilderToRootComposer,
joinBuilder: joinBuilder,
$removeJoinBuilderFromRootComposer:
@@ -1317,38 +1589,40 @@ class $$UserGroupTableAnnotationComposer
}
}
-class $$UserGroupTableTableManager
+class $$PlayerGroupTableTableTableManager
extends
RootTableManager<
_$AppDatabase,
- $UserGroupTable,
- UserGroupData,
- $$UserGroupTableFilterComposer,
- $$UserGroupTableOrderingComposer,
- $$UserGroupTableAnnotationComposer,
- $$UserGroupTableCreateCompanionBuilder,
- $$UserGroupTableUpdateCompanionBuilder,
- (UserGroupData, $$UserGroupTableReferences),
- UserGroupData,
+ $PlayerGroupTableTable,
+ PlayerGroupTableData,
+ $$PlayerGroupTableTableFilterComposer,
+ $$PlayerGroupTableTableOrderingComposer,
+ $$PlayerGroupTableTableAnnotationComposer,
+ $$PlayerGroupTableTableCreateCompanionBuilder,
+ $$PlayerGroupTableTableUpdateCompanionBuilder,
+ (PlayerGroupTableData, $$PlayerGroupTableTableReferences),
+ PlayerGroupTableData,
PrefetchHooks Function({bool userId, bool groupId})
> {
- $$UserGroupTableTableManager(_$AppDatabase db, $UserGroupTable table)
- : super(
+ $$PlayerGroupTableTableTableManager(
+ _$AppDatabase db,
+ $PlayerGroupTableTable table,
+ ) : super(
TableManagerState(
db: db,
table: table,
createFilteringComposer: () =>
- $$UserGroupTableFilterComposer($db: db, $table: table),
+ $$PlayerGroupTableTableFilterComposer($db: db, $table: table),
createOrderingComposer: () =>
- $$UserGroupTableOrderingComposer($db: db, $table: table),
+ $$PlayerGroupTableTableOrderingComposer($db: db, $table: table),
createComputedFieldComposer: () =>
- $$UserGroupTableAnnotationComposer($db: db, $table: table),
+ $$PlayerGroupTableTableAnnotationComposer($db: db, $table: table),
updateCompanionCallback:
({
Value userId = const Value.absent(),
Value groupId = const Value.absent(),
Value rowid = const Value.absent(),
- }) => UserGroupCompanion(
+ }) => PlayerGroupTableCompanion(
userId: userId,
groupId: groupId,
rowid: rowid,
@@ -1358,7 +1632,7 @@ class $$UserGroupTableTableManager
required String userId,
required String groupId,
Value rowid = const Value.absent(),
- }) => UserGroupCompanion.insert(
+ }) => PlayerGroupTableCompanion.insert(
userId: userId,
groupId: groupId,
rowid: rowid,
@@ -1367,7 +1641,7 @@ class $$UserGroupTableTableManager
.map(
(e) => (
e.readTable(table),
- $$UserGroupTableReferences(db, table, e),
+ $$PlayerGroupTableTableReferences(db, table, e),
),
)
.toList(),
@@ -1396,11 +1670,13 @@ class $$UserGroupTableTableManager
state.withJoin(
currentTable: table,
currentColumn: table.userId,
- referencedTable: $$UserGroupTableReferences
- ._userIdTable(db),
- referencedColumn: $$UserGroupTableReferences
- ._userIdTable(db)
- .id,
+ referencedTable:
+ $$PlayerGroupTableTableReferences
+ ._userIdTable(db),
+ referencedColumn:
+ $$PlayerGroupTableTableReferences
+ ._userIdTable(db)
+ .id,
)
as T;
}
@@ -1409,11 +1685,13 @@ class $$UserGroupTableTableManager
state.withJoin(
currentTable: table,
currentColumn: table.groupId,
- referencedTable: $$UserGroupTableReferences
- ._groupIdTable(db),
- referencedColumn: $$UserGroupTableReferences
- ._groupIdTable(db)
- .id,
+ referencedTable:
+ $$PlayerGroupTableTableReferences
+ ._groupIdTable(db),
+ referencedColumn:
+ $$PlayerGroupTableTableReferences
+ ._groupIdTable(db)
+ .id,
)
as T;
}
@@ -1429,27 +1707,165 @@ class $$UserGroupTableTableManager
);
}
-typedef $$UserGroupTableProcessedTableManager =
+typedef $$PlayerGroupTableTableProcessedTableManager =
ProcessedTableManager<
_$AppDatabase,
- $UserGroupTable,
- UserGroupData,
- $$UserGroupTableFilterComposer,
- $$UserGroupTableOrderingComposer,
- $$UserGroupTableAnnotationComposer,
- $$UserGroupTableCreateCompanionBuilder,
- $$UserGroupTableUpdateCompanionBuilder,
- (UserGroupData, $$UserGroupTableReferences),
- UserGroupData,
+ $PlayerGroupTableTable,
+ PlayerGroupTableData,
+ $$PlayerGroupTableTableFilterComposer,
+ $$PlayerGroupTableTableOrderingComposer,
+ $$PlayerGroupTableTableAnnotationComposer,
+ $$PlayerGroupTableTableCreateCompanionBuilder,
+ $$PlayerGroupTableTableUpdateCompanionBuilder,
+ (PlayerGroupTableData, $$PlayerGroupTableTableReferences),
+ PlayerGroupTableData,
PrefetchHooks Function({bool userId, bool groupId})
>;
+typedef $$GameTableTableCreateCompanionBuilder =
+ GameTableCompanion Function({
+ required String id,
+ required String name,
+ Value rowid,
+ });
+typedef $$GameTableTableUpdateCompanionBuilder =
+ GameTableCompanion Function({
+ Value id,
+ Value name,
+ Value rowid,
+ });
+
+class $$GameTableTableFilterComposer
+ extends Composer<_$AppDatabase, $GameTableTable> {
+ $$GameTableTableFilterComposer({
+ required super.$db,
+ required super.$table,
+ super.joinBuilder,
+ super.$addJoinBuilderToRootComposer,
+ super.$removeJoinBuilderFromRootComposer,
+ });
+ ColumnFilters get id => $composableBuilder(
+ column: $table.id,
+ builder: (column) => ColumnFilters(column),
+ );
+
+ ColumnFilters get name => $composableBuilder(
+ column: $table.name,
+ builder: (column) => ColumnFilters(column),
+ );
+}
+
+class $$GameTableTableOrderingComposer
+ extends Composer<_$AppDatabase, $GameTableTable> {
+ $$GameTableTableOrderingComposer({
+ required super.$db,
+ required super.$table,
+ super.joinBuilder,
+ super.$addJoinBuilderToRootComposer,
+ super.$removeJoinBuilderFromRootComposer,
+ });
+ ColumnOrderings get id => $composableBuilder(
+ column: $table.id,
+ builder: (column) => ColumnOrderings(column),
+ );
+
+ ColumnOrderings