diff --git a/lib/features/manage_account/data/datasource/manage_account_datasource.dart b/lib/features/manage_account/data/datasource/manage_account_datasource.dart index 92e894691..3d3a75fb2 100644 --- a/lib/features/manage_account/data/datasource/manage_account_datasource.dart +++ b/lib/features/manage_account/data/datasource/manage_account_datasource.dart @@ -4,12 +4,11 @@ import 'package:forward/forward/tmail_forward.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/properties/properties.dart'; import 'package:jmap_dart_client/jmap/identities/identity.dart'; -import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart'; import 'package:rule_filter/rule_filter/tmail_rule.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/add_recipients_in_forwarding_request.dart'; +import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_identity_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/delete_email_rule_request.dart'; -import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/delete_recipient_in_forwarding_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart'; @@ -37,10 +36,6 @@ abstract class ManageAccountDataSource { Future getForward(AccountId accountId); - Future> getAllVacationResponse(AccountId accountId); - - Future> updateVacation(AccountId accountId, VacationResponse vacationResponse); - Future deleteRecipientInForwarding(AccountId accountId, DeleteRecipientInForwardingRequest deleteRequest); Future addRecipientsInForwarding(AccountId accountId, AddRecipientInForwardingRequest addRequest); diff --git a/lib/features/manage_account/data/datasource/vacation_data_source.dart b/lib/features/manage_account/data/datasource/vacation_data_source.dart new file mode 100644 index 000000000..431d0a34a --- /dev/null +++ b/lib/features/manage_account/data/datasource/vacation_data_source.dart @@ -0,0 +1,8 @@ +import 'package:jmap_dart_client/jmap/account_id.dart'; +import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart'; + +abstract class VacationDataSource { + Future> getAllVacationResponse(AccountId accountId); + + Future> updateVacation(AccountId accountId, VacationResponse vacationResponse); +} \ No newline at end of file diff --git a/lib/features/manage_account/data/datasource_impl/manage_account_datasource_impl.dart b/lib/features/manage_account/data/datasource_impl/manage_account_datasource_impl.dart index 885f90fed..007d03a1b 100644 --- a/lib/features/manage_account/data/datasource_impl/manage_account_datasource_impl.dart +++ b/lib/features/manage_account/data/datasource_impl/manage_account_datasource_impl.dart @@ -4,15 +4,14 @@ import 'package:forward/forward/tmail_forward.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/properties/properties.dart'; import 'package:jmap_dart_client/jmap/identities/identity.dart'; -import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart'; import 'package:rule_filter/rule_filter/tmail_rule.dart'; import 'package:tmail_ui_user/features/manage_account/data/datasource/manage_account_datasource.dart'; import 'package:tmail_ui_user/features/manage_account/data/local/language_cache_manager.dart'; import 'package:tmail_ui_user/features/manage_account/data/network/manage_account_api.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/add_recipients_in_forwarding_request.dart'; +import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_identity_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/delete_email_rule_request.dart'; -import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/delete_recipient_in_forwarding_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart'; @@ -121,24 +120,6 @@ class ManageAccountDataSourceImpl extends ManageAccountDataSource { }); } - @override - Future> getAllVacationResponse(AccountId accountId) { - return Future.sync(() async { - return await manageAccountAPI.getAllVacationResponse(accountId); - }).catchError((error) { - throw error; - }); - } - - @override - Future> updateVacation(AccountId accountId, VacationResponse vacationResponse) { - return Future.sync(() async { - return await manageAccountAPI.updateVacation(accountId, vacationResponse); - }).catchError((error) { - throw error; - }); - } - @override Future deleteRecipientInForwarding(AccountId accountId, DeleteRecipientInForwardingRequest deleteRequest) { return Future.sync(() async { diff --git a/lib/features/manage_account/data/repository/manage_account_repository_impl.dart b/lib/features/manage_account/data/repository/manage_account_repository_impl.dart index ec6cadd57..7f6d7189c 100644 --- a/lib/features/manage_account/data/repository/manage_account_repository_impl.dart +++ b/lib/features/manage_account/data/repository/manage_account_repository_impl.dart @@ -4,13 +4,12 @@ import 'package:forward/forward/tmail_forward.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/properties/properties.dart'; import 'package:jmap_dart_client/jmap/identities/identity.dart'; -import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart'; import 'package:rule_filter/rule_filter/tmail_rule.dart'; import 'package:tmail_ui_user/features/manage_account/data/datasource/manage_account_datasource.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/add_recipients_in_forwarding_request.dart'; +import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_identity_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/delete_email_rule_request.dart'; -import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/delete_recipient_in_forwarding_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart'; @@ -74,16 +73,6 @@ class ManageAccountRepositoryImpl extends ManageAccountRepository { return dataSource.getForward(accountId); } - @override - Future> getAllVacationResponse(AccountId accountId) { - return dataSource.getAllVacationResponse(accountId); - } - - @override - Future> updateVacation(AccountId accountId, VacationResponse vacationResponse) { - return dataSource.updateVacation(accountId, vacationResponse); - } - @override Future deleteRecipientInForwarding(AccountId accountId, DeleteRecipientInForwardingRequest deleteRequest) { return dataSource.deleteRecipientInForwarding(accountId, deleteRequest); diff --git a/lib/features/manage_account/domain/repository/manage_account_repository.dart b/lib/features/manage_account/domain/repository/manage_account_repository.dart index 503c3a4dd..ac978bb5a 100644 --- a/lib/features/manage_account/domain/repository/manage_account_repository.dart +++ b/lib/features/manage_account/domain/repository/manage_account_repository.dart @@ -4,12 +4,11 @@ import 'package:forward/forward/tmail_forward.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/core/properties/properties.dart'; import 'package:jmap_dart_client/jmap/identities/identity.dart'; -import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart'; import 'package:rule_filter/rule_filter/tmail_rule.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/add_recipients_in_forwarding_request.dart'; +import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_identity_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/delete_email_rule_request.dart'; -import 'package:tmail_ui_user/features/manage_account/domain/model/create_new_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/delete_recipient_in_forwarding_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart'; @@ -37,10 +36,6 @@ abstract class ManageAccountRepository { Future getForward(AccountId accountId); - Future> getAllVacationResponse(AccountId accountId); - - Future> updateVacation(AccountId accountId, VacationResponse vacationResponse); - Future deleteRecipientInForwarding(AccountId accountId, DeleteRecipientInForwardingRequest deleteRequest); Future addRecipientsInForwarding(AccountId accountId, AddRecipientInForwardingRequest addRequest); diff --git a/lib/features/manage_account/domain/repository/vacation_repository.dart b/lib/features/manage_account/domain/repository/vacation_repository.dart new file mode 100644 index 000000000..58d9f8f0d --- /dev/null +++ b/lib/features/manage_account/domain/repository/vacation_repository.dart @@ -0,0 +1,8 @@ +import 'package:jmap_dart_client/jmap/account_id.dart'; +import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart'; + +abstract class VacationRepository { + Future> getAllVacationResponse(AccountId accountId); + + Future> updateVacation(AccountId accountId, VacationResponse vacationResponse); +} \ No newline at end of file