TF-939 Inject Vacation's components depend on the session capability

This commit is contained in:
Dat PHAM HOANG
2022-09-14 17:35:21 +07:00
committed by Dat H. Pham
parent 2a65c30772
commit ccc63e4fc1
9 changed files with 121 additions and 69 deletions
@@ -1,12 +1,11 @@
import 'package:get/get.dart';
import 'package:tmail_ui_user/features/base/base_bindings.dart';
import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_name_interactor.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_vacation_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/update_vacation_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/vacation/vacation_controller.dart';
class VacationBindings extends BaseBindings {
class VacationControllerBindings extends BaseBindings {
@override
void bindingsController() {
@@ -26,8 +25,6 @@ class VacationBindings extends BaseBindings {
@override
void bindingsInteractor() {
Get.lazyPut(() => GetAllVacationInteractor(Get.find<ManageAccountRepository>()));
Get.lazyPut(() => UpdateVacationInteractor(Get.find<ManageAccountRepository>()));
Get.lazyPut(() => VerifyNameInteractor());
}
@@ -0,0 +1,42 @@
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/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';
import 'package:tmail_ui_user/features/manage_account/data/repository/vacation_repository_impl.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/vacation_repository.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/get_all_vacation_interactor.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/update_vacation_interactor.dart';
class VacationInteractorsBindings extends BaseBindings {
@override
void bindingsController() {
}
@override
void bindingsDataSource() {
Get.lazyPut<VacationDataSource>(() => Get.find<VacationDataSourceImpl>());
}
@override
void bindingsDataSourceImpl() {
Get.lazyPut(() => VacationDataSourceImpl(Get.find<VacationAPI>()));
}
@override
void bindingsInteractor() {
Get.lazyPut(() => GetAllVacationInteractor(Get.find<VacationRepository>()));
Get.lazyPut(() => UpdateVacationInteractor(Get.find<VacationRepository>()));
}
@override
void bindingsRepository() {
Get.lazyPut<VacationRepository>(() => Get.find<VacationRepositoryImpl>());
}
@override
void bindingsRepositoryImpl() {
Get.lazyPut(() => VacationRepositoryImpl(Get.find<VacationDataSource>()));
}
}