import 'package:drift/drift.dart'; import '../app_database.dart'; import '../tables.dart'; part 'settings_dao.g.dart'; @DriftAccessor(tables: [UserSettings]) class SettingsDao extends DatabaseAccessor with _$SettingsDaoMixin { SettingsDao(super.db); Future get(String key) async { final row = await (select(userSettings) ..where((t) => t.key.equals(key)) ..limit(1)) .getSingleOrNull(); return row?.value; } Future set(String key, String value) => into(userSettings).insertOnConflictUpdate( UserSettingsCompanion.insert(key: key, value: value), ); Future deleteByKey(String key) => (delete(userSettings)..where((t) => t.key.equals(key))).go(); }