From 08f7d7878a2b7617132b412a0f8898d66ce8cc70 Mon Sep 17 00:00:00 2001 From: dab246 Date: Mon, 15 Aug 2022 15:31:50 +0700 Subject: [PATCH] TF-838 Add `getEmailState` to email repository --- .../data/repository/email_repository_impl.dart | 15 ++++++++++++++- .../email/domain/repository/email_repository.dart | 3 +++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/features/email/data/repository/email_repository_impl.dart b/lib/features/email/data/repository/email_repository_impl.dart index 03bdd4ba5..7c09aa247 100644 --- a/lib/features/email/data/repository/email_repository_impl.dart +++ b/lib/features/email/data/repository/email_repository_impl.dart @@ -6,6 +6,7 @@ import 'package:core/core.dart'; import 'package:dartz/dartz.dart'; import 'package:dio/dio.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; +import 'package:jmap_dart_client/jmap/core/state.dart' as jmap; import 'package:jmap_dart_client/jmap/mail/email/email.dart'; import 'package:model/model.dart'; import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart'; @@ -13,13 +14,20 @@ import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.da import 'package:tmail_ui_user/features/email/data/datasource/html_datasource.dart'; import 'package:tmail_ui_user/features/email/domain/model/move_to_mailbox_request.dart'; import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart'; +import 'package:tmail_ui_user/features/mailbox/data/datasource/state_datasource.dart'; +import 'package:tmail_ui_user/features/mailbox/data/model/state_type.dart'; class EmailRepositoryImpl extends EmailRepository { final EmailDataSource emailDataSource; final HtmlDataSource _htmlDataSource; + final StateDataSource _stateDataSource; - EmailRepositoryImpl(this.emailDataSource, this._htmlDataSource); + EmailRepositoryImpl( + this.emailDataSource, + this._htmlDataSource, + this._stateDataSource + ); @override Future getEmailContent(AccountId accountId, EmailId emailId) { @@ -143,4 +151,9 @@ class EmailRepositoryImpl extends EmailRepository { .map((emailContent) => _htmlDataSource.addTooltipWhenHoverOnLink(emailContent)) .toList()); } + + @override + Future getEmailState() { + return _stateDataSource.getState(StateType.email); + } } \ No newline at end of file diff --git a/lib/features/email/domain/repository/email_repository.dart b/lib/features/email/domain/repository/email_repository.dart index 5a6fab765..ef64dd667 100644 --- a/lib/features/email/domain/repository/email_repository.dart +++ b/lib/features/email/domain/repository/email_repository.dart @@ -6,6 +6,7 @@ import 'package:dartz/dartz.dart'; import 'package:dio/dio.dart'; import 'package:jmap_dart_client/jmap/account_id.dart'; import 'package:jmap_dart_client/jmap/mail/email/email.dart'; +import 'package:jmap_dart_client/jmap/core/state.dart' as jmap; import 'package:model/model.dart'; import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart'; import 'package:tmail_ui_user/features/email/domain/model/move_to_mailbox_request.dart'; @@ -67,4 +68,6 @@ abstract class EmailRepository { Future> deleteMultipleEmailsPermanently(AccountId accountId, List emailIds); Future deleteEmailPermanently(AccountId accountId, EmailId emailId); + + Future getEmailState(); } \ No newline at end of file