Files
dailyou/lib/core/database/daos/settings_dao.dart
T

28 lines
761 B
Dart
Raw Normal View History

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