TF-4195 Add interactor/repository/datasource to feature add a Label to an email
This commit is contained in:
@@ -16,6 +16,7 @@ import 'package:tmail_ui_user/features/email/data/local/html_analyzer.dart';
|
||||
import 'package:tmail_ui_user/features/email/data/network/email_api.dart';
|
||||
import 'package:tmail_ui_user/features/email/data/repository/email_repository_impl.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/add_a_label_to_an_email_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/get_email_content_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/get_entire_message_as_document_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/email/domain/usecases/get_stored_email_state_interactor.dart';
|
||||
@@ -117,6 +118,9 @@ class EmailInteractorBindings extends InteractorsBindings {
|
||||
Get.find<EmailRepository>(),
|
||||
));
|
||||
}
|
||||
Get.lazyPut(
|
||||
() => AddALabelToAnEmailInteractor(Get.find<EmailRepository>()),
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user