TF-1115 Implement catch exception for VacationDataSource
This commit is contained in:
@@ -2,18 +2,21 @@ import 'package:jmap_dart_client/jmap/account_id.dart';
|
|||||||
import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart';
|
import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.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/vacation_data_source.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/data/network/vacation_api.dart';
|
import 'package:tmail_ui_user/features/manage_account/data/network/vacation_api.dart';
|
||||||
|
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
|
||||||
|
|
||||||
class VacationDataSourceImpl extends VacationDataSource {
|
class VacationDataSourceImpl extends VacationDataSource {
|
||||||
|
|
||||||
final VacationAPI _vacationAPI;
|
final VacationAPI _vacationAPI;
|
||||||
VacationDataSourceImpl(this._vacationAPI);
|
final ExceptionThrower _exceptionThrower;
|
||||||
|
|
||||||
|
VacationDataSourceImpl(this._vacationAPI, this._exceptionThrower);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<List<VacationResponse>> getAllVacationResponse(AccountId accountId) {
|
Future<List<VacationResponse>> getAllVacationResponse(AccountId accountId) {
|
||||||
return Future.sync(() async {
|
return Future.sync(() async {
|
||||||
return await _vacationAPI.getAllVacationResponse(accountId);
|
return await _vacationAPI.getAllVacationResponse(accountId);
|
||||||
}).catchError((error) {
|
}).catchError((error) {
|
||||||
throw error;
|
_exceptionThrower.throwException(error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,7 +25,7 @@ class VacationDataSourceImpl extends VacationDataSource {
|
|||||||
return Future.sync(() async {
|
return Future.sync(() async {
|
||||||
return await _vacationAPI.updateVacation(accountId, vacationResponse);
|
return await _vacationAPI.updateVacation(accountId, vacationResponse);
|
||||||
}).catchError((error) {
|
}).catchError((error) {
|
||||||
throw error;
|
_exceptionThrower.throwException(error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+4
-1
@@ -8,6 +8,7 @@ import 'package:tmail_ui_user/features/manage_account/data/repository/vacation_r
|
|||||||
import 'package:tmail_ui_user/features/manage_account/domain/repository/vacation_repository.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/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/domain/usecases/update_vacation_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
|
||||||
|
|
||||||
class VacationInteractorsBindings extends BaseBindings {
|
class VacationInteractorsBindings extends BaseBindings {
|
||||||
@override
|
@override
|
||||||
@@ -21,7 +22,9 @@ class VacationInteractorsBindings extends BaseBindings {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void bindingsDataSourceImpl() {
|
void bindingsDataSourceImpl() {
|
||||||
Get.lazyPut(() => VacationDataSourceImpl(Get.find<VacationAPI>()));
|
Get.lazyPut(() => VacationDataSourceImpl(
|
||||||
|
Get.find<VacationAPI>(),
|
||||||
|
Get.find<RemoteExceptionThrower>()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
Reference in New Issue
Block a user