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 79021fb8f..91bff1ba6 100644 --- a/lib/features/manage_account/data/datasource/manage_account_datasource.dart +++ b/lib/features/manage_account/data/datasource/manage_account_datasource.dart @@ -7,6 +7,7 @@ import 'package:rule_filter/rule_filter/tmail_rule.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/edit_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/identities_response.dart'; @@ -26,4 +27,6 @@ abstract class ManageAccountDataSource { Future> deleteTMailRule(AccountId accountId, DeleteEmailRuleRequest deleteEmailRuleRequest); Future> createNewEmailRuleFilter(AccountId accountId, CreateNewEmailRuleFilterRequest ruleFilterRequest); + + Future> editEmailRuleFilter(AccountId accountId, EditEmailRuleFilterRequest ruleFilterRequest); } \ 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 2e6c08e43..b3a68ee6e 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 @@ -10,6 +10,7 @@ import 'package:tmail_ui_user/features/manage_account/data/network/manage_accoun 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/edit_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/identities_response.dart'; @@ -96,4 +97,13 @@ class ManageAccountDataSourceImpl extends ManageAccountDataSource { throw error; }); } + + @override + Future> editEmailRuleFilter(AccountId accountId, EditEmailRuleFilterRequest ruleFilterRequest) { + return Future.sync(() async { + return await manageAccountAPI.updateListTMailRule(accountId, ruleFilterRequest.listTMailRulesUpdated); + }).catchError((error) { + throw error; + }); + } } \ No newline at end of file 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 e6a5e1c96..1e6ffefae 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 @@ -8,6 +8,7 @@ import 'package:tmail_ui_user/features/manage_account/data/datasource/manage_acc 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/edit_email_rule_filter_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/edit_identity_request.dart'; import 'package:tmail_ui_user/features/manage_account/domain/model/identities_response.dart'; import 'package:tmail_ui_user/features/manage_account/domain/repository/manage_account_repository.dart'; @@ -57,4 +58,9 @@ class ManageAccountRepositoryImpl extends ManageAccountRepository { Future> createNewEmailRuleFilter(AccountId accountId, CreateNewEmailRuleFilterRequest ruleFilterRequest) { return dataSource.createNewEmailRuleFilter(accountId, ruleFilterRequest); } + + @override + Future> editEmailRuleFilter(AccountId accountId, EditEmailRuleFilterRequest ruleFilterRequest) { + return dataSource.editEmailRuleFilter(accountId, ruleFilterRequest); + } } \ No newline at end of file