TF-4195 Add interactor/repository/datasource to feature add a Label to an email

This commit is contained in:
dab246
2025-12-12 01:32:51 +07:00
committed by Dat H. Pham
parent b6027e996d
commit 0d247b30d7
19 changed files with 215 additions and 49 deletions
@@ -4,7 +4,6 @@ import 'package:model/email/email_action_type.dart';
import 'package:model/email/presentation_email.dart';
import 'package:model/extensions/list_email_address_extension.dart';
import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/list_keyword_identifier_extension.dart';
import 'package:tmail_ui_user/features/thread/data/extensions/map_keywords_extension.dart';
extension PresentationEmailExtension on PresentationEmail {
@@ -160,15 +159,13 @@ extension PresentationEmailExtension on PresentationEmail {
List<Label> getLabelList(List<Label> labels) {
if (keywords?.isNotEmpty != true || labels.isEmpty) return const [];
final enabledKeywordListString =
keywords!.enabledKeywords.keywordListString;
final enabledKeywords = keywords!.enabledKeywords;
if (enabledKeywordListString.isEmpty) return const [];
if (enabledKeywords.isEmpty) return const [];
return labels
.where((label) =>
label.keyword != null &&
enabledKeywordListString.contains(label.keyword))
label.keyword != null && enabledKeywords.contains(label.keyword))
.toList();
}
}
}