TF-657 Separate interactor/repository/datasource of identity

This commit is contained in:
dab246
2022-10-19 17:53:34 +07:00
committed by Dat H. Pham
parent 9a5fa29035
commit 398654a79d
26 changed files with 353 additions and 313 deletions
@@ -1,50 +1,19 @@
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart';
import 'package:tmail_ui_user/features/identity_creator/presentation/identity_creator_controller.dart';
import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/data/datasource/manage_account_datasource.dart';
import 'package:tmail_ui_user/features/manage_account/data/datasource_impl/manage_account_datasource_impl.dart';
import 'package:tmail_ui_user/features/manage_account/data/local/language_cache_manager.dart';
import 'package:tmail_ui_user/features/manage_account/data/network/manage_account_api.dart';
import 'package:tmail_ui_user/features/manage_account/data/repository/manage_account_repository_impl.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/manage_account_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_identities_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/profiles/identities/identity_interactors_bindings.dart';
class IdentityCreatorBindings extends BaseBindings {
class IdentityCreatorBindings extends Bindings {
@override
void bindingsController() {
void dependencies() {
IdentityInteractorsBindings().dependencies();
Get.lazyPut(() => VerifyNameInteractor());
Get.lazyPut(() => IdentityCreatorController(
Get.find<VerifyNameInteractor>(),
Get.find<GetAllIdentitiesInteractor>(),
Get.find<VerifyNameInteractor>(),
Get.find<GetAllIdentitiesInteractor>(),
));
}
@override
void bindingsDataSource() {
Get.lazyPut<ManageAccountDataSource>(() => Get.find<ManageAccountDataSourceImpl>());
}
@override
void bindingsDataSourceImpl() {
Get.lazyPut(() => ManageAccountDataSourceImpl(
Get.find<ManageAccountAPI>(),
Get.find<LanguageCacheManager>()));
}
@override
void bindingsInteractor() {
Get.lazyPut(() => VerifyNameInteractor());
Get.lazyPut(() => GetAllIdentitiesInteractor(Get.find<ManageAccountRepository>()));
}
@override
void bindingsRepository() {
Get.lazyPut<ManageAccountRepository>(() => Get.find<ManageAccountRepositoryImpl>());
}
@override
void bindingsRepositoryImpl() {
Get.lazyPut(() => ManageAccountRepositoryImpl(Get.find<ManageAccountDataSource>()));
}
}