2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-04-28 13:36:50 +00:00
inventree-app/lib/app_settings.dart
2021-03-03 21:39:46 +11:00

38 lines
884 B
Dart

/*
* Class for managing app-level configuration options
*/
import 'package:sembast/sembast.dart';
import 'package:InvenTree/preferences.dart';
class InvenTreeSettingsManager {
final store = StoreRef("settings");
Future<Database> get _db async => await InvenTreePreferencesDB.instance.database;
Future<dynamic> getValue(String key, dynamic backup) async {
final value = await store.record(key).get(await _db);
if (value == null) {
return backup;
}
return value;
}
Future<void> setValue(String key, dynamic value) async {
await store.record(key).put(await _db, value);
}
// Ensure we only ever create a single instance of this class
static final InvenTreeSettingsManager _manager = new InvenTreeSettingsManager._internal();
factory InvenTreeSettingsManager() {
return _manager;
}
InvenTreeSettingsManager._internal();
}