TF-106 Fix display inlined image CIDs of emails

This commit is contained in:
dab246
2021-10-18 14:46:11 +07:00
committed by Dat H. Pham
parent 1432cb0209
commit 60ffa5ace0
25 changed files with 202 additions and 81 deletions
@@ -35,5 +35,10 @@ abstract class EmailRepository {
MarkStarAction markStarAction
);
Future<List<EmailContent>> transformEmailContent(List<EmailContent> emailContents);
Future<List<EmailContent>> transformEmailContent(
List<EmailContent> emailContents,
List<Attachment> attachmentInlines,
String? baseUrlDownload,
AccountId accountId
);
}
@@ -11,13 +11,17 @@ class GetEmailContentInteractor {
GetEmailContentInteractor(this.emailRepository);
Stream<Either<Failure, Success>> execute(AccountId accountId, EmailId emailId) async* {
Stream<Either<Failure, Success>> execute(AccountId accountId, EmailId emailId, String? baseDownloadUrl) async* {
try {
yield Right<Failure, Success>(LoadingState());
final email = await emailRepository.getEmailContent(accountId, emailId);
if (email.emailContentList.isNotEmpty) {
final newEmailContents = await emailRepository.transformEmailContent(email.emailContentList);
final newEmailContents = await emailRepository.transformEmailContent(
email.emailContentList,
email.allAttachments.attachmentWithDispositionInlines,
baseDownloadUrl,
accountId);
yield Right<Failure, Success>(GetEmailContentSuccess(newEmailContents, email.allAttachments));
} else {
yield Left(GetEmailContentFailure(null));