TF-3977 Separate settings keys for easier in conflict

This commit is contained in:
dab246
2025-09-09 11:12:57 +07:00
committed by Dat H. Pham
parent 7fdfb97fc5
commit 5a88f3c36f
27 changed files with 290 additions and 206 deletions
@@ -1,6 +1,5 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/utils/app_logger.dart';
import 'package:dartz/dartz.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/manage_account_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/get_local_settings_state.dart';
@@ -16,7 +15,6 @@ class GetLocalSettingsInteractor {
final result = await _manageAccountRepository.getLocalSettings();
yield Right(GetLocalSettingsSuccess(result));
} catch (e) {
logError('$runtimeType::execute(): exception: $e');
yield Left(GetLocalSettingsFailure(exception: e));
}
}
@@ -1,25 +1,23 @@
import 'package:core/presentation/state/failure.dart';
import 'package:core/presentation/state/success.dart';
import 'package:core/utils/app_logger.dart';
import 'package:dartz/dartz.dart';
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_config.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/manage_account_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/update_local_settings_state.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/preferences/preferences_root.dart';
class UpdateLocalSettingsInteractor {
const UpdateLocalSettingsInteractor(this._manageAccountRepository);
final ManageAccountRepository _manageAccountRepository;
Stream<Either<Failure, Success>> execute(
PreferencesRoot preferencesRoot,
) async* {
Stream<Either<Failure, Success>> execute(PreferencesConfig preferencesConfig) async* {
try {
yield Right(UpdatingLocalSettingsState());
await _manageAccountRepository.updateLocalSettings(preferencesRoot);
yield Right(UpdateLocalSettingsSuccess(preferencesRoot));
final preferencesSetting = await _manageAccountRepository.toggleLocalSettingsState(
preferencesConfig,
);
yield Right(UpdateLocalSettingsSuccess(preferencesSetting));
} catch (e) {
logError('$runtimeType::execute(): exception: $e');
yield Left(UpdateLocalSettingsFailure(exception: e));
}
}