import 'package:backend/database.dart'; import 'package:drift/drift.dart'; import 'package:logging/logging.dart'; import 'package:uuid/uuid.dart'; final log = Logger('Db'); class Db { static Future<User> getUser(String uuid) { log.finer('Getting user $uuid'); return AppDatabase().managers.users.filter((f) => f.uuid.equals(uuid)).get().then((u) => u.first); } static Future<User?> createUser({required String username}) => AppDatabase() .managers .users .createReturningOrNull( (o) => o(createdAt: Value(DateTime.now()), uuid: const Uuid().v4(), name: username), ) .catchError((Object err) { log.severe('Failed to create user', err, StackTrace.current); throw Exception(err.toString()); }); }