Fix SMime signature status not displayed

This commit is contained in:
dab246
2024-08-27 15:11:48 +07:00
committed by Dat H. Pham
parent 5375f20e23
commit 0c4076cab6
30 changed files with 64 additions and 43 deletions
@@ -5,6 +5,7 @@ import 'package:tmail_ui_user/features/email/domain/extensions/list_attachments_
import 'package:tmail_ui_user/features/email/domain/extensions/list_email_header_extension.dart';
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
import 'package:tmail_ui_user/features/offline_mode/model/detailed_email_hive_cache.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/map_header_identifier_id_extension.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/map_keywords_extension.dart';
extension DetailedEmailExtension on DetailedEmail {
@@ -19,6 +20,7 @@ extension DetailedEmailExtension on DetailedEmail {
messageId: messageId?.ids.toList(),
references: references?.ids.toList(),
inlineImages: inlineImages?.toHiveCache(),
sMimeStatusHeader: sMimeStatusHeader?.toMapString(),
);
}
@@ -38,6 +40,7 @@ extension DetailedEmailExtension on DetailedEmail {
messageId: messageId,
references: references,
inlineImages: inlineImages,
sMimeStatusHeader: sMimeStatusHeader
);
}
}
@@ -1,5 +1,6 @@
import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/email/individual_header_identifier.dart';
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
import 'package:tmail_ui_user/features/email/domain/extensions/list_acttachments_hive_cache_extension.dart';
import 'package:tmail_ui_user/features/email/domain/extensions/list_email_header_hive_cache_extension.dart';
@@ -24,6 +25,9 @@ extension DetailedEmailHiveCacheExtension on DetailedEmailHiveCache {
? MessageIdsHeaderValue(references!.toSet())
: null,
inlineImages: inlineImages?.toAttachment(),
sMimeStatusHeader: sMimeStatusHeader != null
? Map.fromIterables(sMimeStatusHeader!.keys.map((value) => IndividualHeaderIdentifier(value)), sMimeStatusHeader!.values)
: null,
);
}
}
@@ -16,6 +16,7 @@ extension EmailExtension on Email {
messageId: messageId,
references: references,
inlineImages: allAttachments.listAttachmentsDisplayedInContent,
sMimeStatusHeader: sMimeStatusHeader,
);
}
}
@@ -1,6 +1,7 @@
import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_header.dart';
import 'package:jmap_dart_client/jmap/mail/email/individual_header_identifier.dart';
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
import 'package:model/email/attachment.dart';
@@ -15,6 +16,7 @@ class DetailedEmail with EquatableMixin {
final MessageIdsHeaderValue? messageId;
final MessageIdsHeaderValue? references;
final List<Attachment>? inlineImages;
final Map<IndividualHeaderIdentifier, String?>? sMimeStatusHeader;
DetailedEmail({
required this.emailId,
@@ -27,6 +29,7 @@ class DetailedEmail with EquatableMixin {
this.messageId,
this.references,
this.inlineImages,
this.sMimeStatusHeader,
});
@override
@@ -41,5 +44,6 @@ class DetailedEmail with EquatableMixin {
messageId,
references,
inlineImages,
sMimeStatusHeader,
];
}
@@ -98,7 +98,8 @@ class GetEmailContentInteractor {
emailCurrent: Email(
id: emailId,
headers: detailedEmail.headers,
keywords: detailedEmail.keywords
keywords: detailedEmail.keywords,
sMimeStatusHeader: detailedEmail.sMimeStatusHeader,
)
));
} catch (e) {
@@ -130,7 +131,8 @@ class GetEmailContentInteractor {
emailCurrent: Email(
id: emailId,
headers: detailedEmail.headers,
keywords: detailedEmail.keywords
keywords: detailedEmail.keywords,
sMimeStatusHeader: detailedEmail.sMimeStatusHeader,
)
));
} catch (e) {