updateSettingsForSource function
Update user settings with the given partial updates. Returns an error message string or null on success.
Implementation
Future<String?> updateSettingsForSource(Map<String, dynamic> updates) async {
try {
final settings = await _readUserSettings();
// Merge updates. Explicit null values signal key removal.
for (final entry in updates.entries) {
if (entry.value == null) {
settings.remove(entry.key);
} else {
settings[entry.key] = entry.value;
}
}
await _writeUserSettings(settings);
return null;
} catch (e) {
return e.toString();
}
}