TF-1118 Create repository and datasource for forwarding

This commit is contained in:
dab246
2022-11-03 13:01:15 +07:00
committed by Dat H. Pham
parent 014faae217
commit 72854bcb6f
19 changed files with 262 additions and 201 deletions
@@ -1,16 +1,16 @@
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.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/add_recipients_in_forwarding_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/delete_recipient_in_forwarding_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/edit_local_copy_in_forwarding_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_forward_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/forward/bindings/forwarding_interactors_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/forward/forward_controller.dart';
class ForwardBindings extends BaseBindings {
class ForwardBindings extends Bindings {
@override
void bindingsController() {
void dependencies() {
ForwardingInteractorsBindings().dependencies();
Get.lazyPut(() => ForwardController(
Get.find<GetForwardInteractor>(),
Get.find<DeleteRecipientInForwardingInteractor>(),
@@ -18,24 +18,4 @@ class ForwardBindings extends BaseBindings {
Get.find<EditLocalCopyInForwardingInteractor>(),
));
}
@override
void bindingsDataSource() {}
@override
void bindingsDataSourceImpl() {}
@override
void bindingsInteractor() {
Get.lazyPut(() => GetForwardInteractor(Get.find<ManageAccountRepository>()));
Get.lazyPut(() => DeleteRecipientInForwardingInteractor(Get.find<ManageAccountRepository>()));
Get.lazyPut(() => AddRecipientsInForwardingInteractor(Get.find<ManageAccountRepository>()));
Get.lazyPut(() => EditLocalCopyInForwardingInteractor(Get.find<ManageAccountRepository>()));
}
@override
void bindingsRepository() {}
@override
void bindingsRepositoryImpl() {}
}
@@ -0,0 +1,46 @@
import 'package:get/get_core/src/get_main.dart';
import 'package:get/get_instance/get_instance.dart';
import 'package:tmail_ui_user/features/base/interactors_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/data/datasource/forwarding_datasource.dart';
import 'package:tmail_ui_user/features/manage_account/data/datasource_impl/forwarding_data_source_impl.dart';
import 'package:tmail_ui_user/features/manage_account/data/network/forwarding_api.dart';
import 'package:tmail_ui_user/features/manage_account/data/repository/forwarding_repository_impl.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/forwarding_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/add_recipients_in_forwarding_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/delete_recipient_in_forwarding_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/edit_local_copy_in_forwarding_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_forward_interactor.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
class ForwardingInteractorsBindings extends InteractorsBindings {
@override
void bindingsDataSource() {
Get.lazyPut<ForwardingDataSource>(() => Get.find<ForwardingDataSourceImpl>());
}
@override
void bindingsDataSourceImpl() {
Get.lazyPut(() => ForwardingDataSourceImpl(
Get.find<ForwardingAPI>(),
Get.find<RemoteExceptionThrower>()));
}
@override
void bindingsInteractor() {
Get.lazyPut(() => GetForwardInteractor(Get.find<ForwardingRepository>()));
Get.lazyPut(() => DeleteRecipientInForwardingInteractor(Get.find<ForwardingRepository>()));
Get.lazyPut(() => AddRecipientsInForwardingInteractor(Get.find<ForwardingRepository>()));
Get.lazyPut(() => EditLocalCopyInForwardingInteractor(Get.find<ForwardingRepository>()));
}
@override
void bindingsRepository() {
Get.lazyPut<ForwardingRepository>(() => Get.find<ForwardingRepositoryImpl>());
}
@override
void bindingsRepositoryImpl() {
Get.lazyPut(() => ForwardingRepositoryImpl(Get.find<ForwardingDataSource>()));
}
}
@@ -22,7 +22,7 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/log_out_oi
import 'package:tmail_ui_user/features/manage_account/domain/usecases/update_vacation_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/email_rules/email_rules_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/forward/forward_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/forward/bindings/forward_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/manage_account_arguments.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/settings_page_level.dart';
@@ -1,6 +1,6 @@
import 'package:get/get_core/src/get_main.dart';
import 'package:get/get_instance/get_instance.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart';
import 'package:tmail_ui_user/features/base/interactors_bindings.dart';
import 'package:tmail_ui_user/features/manage_account/data/datasource/vacation_data_source.dart';
import 'package:tmail_ui_user/features/manage_account/data/datasource_impl/vacation_data_source_impl.dart';
import 'package:tmail_ui_user/features/manage_account/data/network/vacation_api.dart';
@@ -10,10 +10,7 @@ import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_va
import 'package:tmail_ui_user/features/manage_account/domain/usecases/update_vacation_interactor.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
class VacationInteractorsBindings extends BaseBindings {
@override
void bindingsController() {
}
class VacationInteractorsBindings extends InteractorsBindings {
@override
void bindingsDataSource() {