feat(ai-scribe): Load AI scribe config in dashboard
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/ai_scribe_config.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_config.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_setting.dart';
|
||||
|
||||
@@ -9,4 +10,6 @@ abstract class ManageAccountDataSource {
|
||||
Future<PreferencesSetting> toggleLocalSettingsState(PreferencesConfig preferencesConfig);
|
||||
|
||||
Future<PreferencesSetting> getLocalSettings();
|
||||
|
||||
Future<AIScribeConfig> getAiScribeConfigLocalSettings();
|
||||
}
|
||||
|
||||
@@ -64,4 +64,11 @@ class ManageAccountDataSourceImpl extends ManageAccountDataSource {
|
||||
return await _preferencesSettingManager.loadPreferences();
|
||||
}).catchError(_exceptionThrower.throwException);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<AIScribeConfig> getAiScribeConfigLocalSettings() {
|
||||
return Future.sync(() async {
|
||||
return await _preferencesSettingManager.getAIScribeConfig();
|
||||
}).catchError(_exceptionThrower.throwException);
|
||||
}
|
||||
}
|
||||
@@ -166,6 +166,4 @@ class PreferencesSettingManager {
|
||||
final updatedConfig = currentConfig.copyWith(isEnabled: isEnabled);
|
||||
await savePreferences(updatedConfig);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:tmail_ui_user/features/manage_account/data/datasource/manage_account_datasource.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/ai_scribe_config.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_config.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_setting.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/repository/manage_account_repository.dart';
|
||||
@@ -25,4 +26,9 @@ class ManageAccountRepositoryImpl extends ManageAccountRepository {
|
||||
Future<PreferencesSetting> getLocalSettings() {
|
||||
return dataSource.getLocalSettings();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<AIScribeConfig> getAiScribeConfigLocalSettings() {
|
||||
return dataSource.getAiScribeConfigLocalSettings();
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'dart:ui';
|
||||
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/ai_scribe_config.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_config.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_setting.dart';
|
||||
|
||||
@@ -9,4 +10,6 @@ abstract class ManageAccountRepository {
|
||||
Future<PreferencesSetting> toggleLocalSettingsState(PreferencesConfig preferencesConfig);
|
||||
|
||||
Future<PreferencesSetting> getLocalSettings();
|
||||
|
||||
Future<AIScribeConfig> getAiScribeConfigLocalSettings();
|
||||
}
|
||||
|
||||
@@ -12,8 +12,9 @@ class GetAIScribeConfigInteractor {
|
||||
Stream<Either<Failure, Success>> execute() async* {
|
||||
try {
|
||||
yield Right(GettingAIScribeConfigState());
|
||||
final preferencesSetting = await _manageAccountRepository.getLocalSettings();
|
||||
yield Right(GetAIScribeConfigSuccess(preferencesSetting.aiScribeConfig));
|
||||
final aiScribeConfig =
|
||||
await _manageAccountRepository.getAiScribeConfigLocalSettings();
|
||||
yield Right(GetAIScribeConfigSuccess(aiScribeConfig));
|
||||
} catch (e) {
|
||||
yield Left(GetAIScribeConfigFailure(exception: e));
|
||||
}
|
||||
|
||||
-4
@@ -63,10 +63,6 @@ class PreferencesInteractorsBindings extends InteractorsBindings {
|
||||
() => SaveLanguageInteractor(Get.find<ManageAccountRepository>(tag: composerId)),
|
||||
tag: composerId,
|
||||
);
|
||||
Get.lazyPut(
|
||||
() => GetAIScribeConfigInteractor(Get.find<ManageAccountRepository>(tag: composerId)),
|
||||
tag: composerId,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
Reference in New Issue
Block a user