From a552b073c1b86670ec899c5008bd8e1d0ca8346a Mon Sep 17 00:00:00 2001 From: dab246 Date: Fri, 28 Oct 2022 12:09:04 +0700 Subject: [PATCH] TF-1115 Implement catch exception for MdnDataSource --- .../email/data/datasource_impl/mdn_datasource_impl.dart | 6 ++++-- .../email/presentation/mdn_interactor_bindings.dart | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/features/email/data/datasource_impl/mdn_datasource_impl.dart b/lib/features/email/data/datasource_impl/mdn_datasource_impl.dart index 279b209dd..efe664086 100644 --- a/lib/features/email/data/datasource_impl/mdn_datasource_impl.dart +++ b/lib/features/email/data/datasource_impl/mdn_datasource_impl.dart @@ -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 sendReceiptToSender(AccountId accountId, SendReceiptToSenderRequest request) { return Future.sync(() async { return await _mdnAPI.sendReceiptToSender(accountId, request); }).catchError((error) { - throw error; + _exceptionThrower.throwException(error); }); } } \ No newline at end of file diff --git a/lib/features/email/presentation/mdn_interactor_bindings.dart b/lib/features/email/presentation/mdn_interactor_bindings.dart index 4a8f63a21..15d67e487 100644 --- a/lib/features/email/presentation/mdn_interactor_bindings.dart +++ b/lib/features/email/presentation/mdn_interactor_bindings.dart @@ -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())); + Get.lazyPut(() => MdnDataSourceImpl(Get.find(), Get.find())); } @override