TF-1115 Implement catch exception for MdnDataSource

This commit is contained in:
dab246
2022-10-28 12:09:04 +07:00
committed by Dat H. Pham
parent 48c1247dfe
commit a552b073c1
2 changed files with 6 additions and 3 deletions
@@ -5,19 +5,21 @@ import 'package:jmap_dart_client/jmap/mdn/mdn.dart';
import 'package:tmail_ui_user/features/email/data/datasource/mdn_datasource.dart';
import 'package:tmail_ui_user/features/email/data/network/mdn_api.dart';
import 'package:tmail_ui_user/features/email/domain/model/send_receipt_to_sender_request.dart';
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
class MdnDataSourceImpl extends MdnDataSource {
final MdnAPI _mdnAPI;
final ExceptionThrower _exceptionThrower;
MdnDataSourceImpl(this._mdnAPI);
MdnDataSourceImpl(this._mdnAPI, this._exceptionThrower);
@override
Future<MDN?> sendReceiptToSender(AccountId accountId, SendReceiptToSenderRequest request) {
return Future.sync(() async {
return await _mdnAPI.sendReceiptToSender(accountId, request);
}).catchError((error) {
throw error;
_exceptionThrower.throwException(error);
});
}
}
@@ -6,6 +6,7 @@ import 'package:tmail_ui_user/features/email/data/network/mdn_api.dart';
import 'package:tmail_ui_user/features/email/data/repository/mdn_repository_impl.dart';
import 'package:tmail_ui_user/features/email/domain/repository/mdn_repository.dart';
import 'package:tmail_ui_user/features/email/domain/usecases/send_receipt_to_sender_interactor.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
class MdnInteractorBindings extends InteractorsBindings {
@@ -16,7 +17,7 @@ class MdnInteractorBindings extends InteractorsBindings {
@override
void bindingsDataSourceImpl() {
Get.lazyPut(() => MdnDataSourceImpl(Get.find<MdnAPI>()));
Get.lazyPut(() => MdnDataSourceImpl(Get.find<MdnAPI>(), Get.find<RemoteExceptionThrower>()));
}
@override