TF-1115 Implement catch exception for MdnDataSource
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user