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/datasource/mdn_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/network/mdn_api.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/features/email/domain/model/send_receipt_to_sender_request.dart';
|
||||||
|
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
|
||||||
|
|
||||||
class MdnDataSourceImpl extends MdnDataSource {
|
class MdnDataSourceImpl extends MdnDataSource {
|
||||||
|
|
||||||
final MdnAPI _mdnAPI;
|
final MdnAPI _mdnAPI;
|
||||||
|
final ExceptionThrower _exceptionThrower;
|
||||||
|
|
||||||
MdnDataSourceImpl(this._mdnAPI);
|
MdnDataSourceImpl(this._mdnAPI, this._exceptionThrower);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Future<MDN?> sendReceiptToSender(AccountId accountId, SendReceiptToSenderRequest request) {
|
Future<MDN?> sendReceiptToSender(AccountId accountId, SendReceiptToSenderRequest request) {
|
||||||
return Future.sync(() async {
|
return Future.sync(() async {
|
||||||
return await _mdnAPI.sendReceiptToSender(accountId, request);
|
return await _mdnAPI.sendReceiptToSender(accountId, request);
|
||||||
}).catchError((error) {
|
}).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/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/repository/mdn_repository.dart';
|
||||||
import 'package:tmail_ui_user/features/email/domain/usecases/send_receipt_to_sender_interactor.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 {
|
class MdnInteractorBindings extends InteractorsBindings {
|
||||||
|
|
||||||
@@ -16,7 +17,7 @@ class MdnInteractorBindings extends InteractorsBindings {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void bindingsDataSourceImpl() {
|
void bindingsDataSourceImpl() {
|
||||||
Get.lazyPut(() => MdnDataSourceImpl(Get.find<MdnAPI>()));
|
Get.lazyPut(() => MdnDataSourceImpl(Get.find<MdnAPI>(), Get.find<RemoteExceptionThrower>()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
Reference in New Issue
Block a user