import 'package:game_tracker/data/database.dart'; import 'package:drift/drift.dart'; extension UserGroupMethods on AppDatabase { Future> getAllUsersAndGroups() async { return await select(userGroup).get(); } Future> getUsersGroups(String userId) async { return await (select(userGroup)..where((uG) => uG.userId.equals(userId))).get(); } Future> getGroupsUsers(String groupId) async { return await (select(userGroup)..where((uG) => uG.groupId.equals(groupId))).get(); } Future addUserToGroup(String userId, String groupId) async { await into(userGroup).insert( UserGroupCompanion.insert(userId: userId, groupId: groupId), ); } Future removeUserFromGroup(String userId, String groupId) async { await (delete(userGroup)..where((uG) => uG.userId.equals(userId) & uG.groupId.equals(groupId))).go(); } }