provider mounted hardenings

This commit is contained in:
Fabian Freund
2025-10-02 13:34:47 +02:00
parent 550e1dd119
commit ae49d0f937
32 changed files with 197 additions and 146 deletions
@@ -104,18 +104,17 @@ class EngineSettingsRepository extends _$EngineSettingsRepository {
Future<void> updateSettings(
UpdateEngineSettingsFunc updateWithCurrent,
) async {
final db = ref.read(userDatabaseProvider);
final current = await fetchSettings();
final oldJson = current.toJson();
final newJson = updateWithCurrent(current).toJson();
return ref.read(userDatabaseProvider).transaction(() async {
return db.transaction(() async {
for (final MapEntry(:key, :value) in newJson.entries) {
if (oldJson[key] != value) {
await ref
.read(userDatabaseProvider)
.settingDao
.updateSetting(key, _partitionKey, value);
await db.settingDao.updateSetting(key, _partitionKey, value);
}
}
});