TF-2302 Rename GetAutocompleteWithDeviceContactInteractor to GetAllAutocompleteInteractor
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit c90e7b2508c5ee5f1e04f2d5432624ced79b0f46)
This commit is contained in:
+9
-6
@@ -1,20 +1,23 @@
|
||||
|
||||
import 'package:core/core.dart';
|
||||
import 'package:core/presentation/state/failure.dart';
|
||||
import 'package:core/presentation/state/success.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:model/autocomplete/auto_complete_pattern.dart';
|
||||
import 'package:model/contact/contact.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/get_device_contact_suggestions_state.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_device_contact_suggestions_interactor.dart';
|
||||
|
||||
class GetAutoCompleteWithDeviceContactInteractor {
|
||||
class GetAllAutoCompleteInteractor {
|
||||
final GetAutoCompleteInteractor _getAutoCompleteInteractor;
|
||||
final GetDeviceContactSuggestionsInteractor _getDeviceContactSuggestionsInteractor;
|
||||
|
||||
GetAutoCompleteWithDeviceContactInteractor(
|
||||
this._getAutoCompleteInteractor,
|
||||
this._getDeviceContactSuggestionsInteractor);
|
||||
GetAllAutoCompleteInteractor(
|
||||
this._getAutoCompleteInteractor,
|
||||
this._getDeviceContactSuggestionsInteractor
|
||||
);
|
||||
|
||||
Future<Either<Failure, Success>> execute(AutoCompletePattern autoCompletePattern) async {
|
||||
try {
|
||||
@@ -18,9 +18,7 @@ import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:html_editor_enhanced/html_editor.dart' as web_html_editor;
|
||||
import 'package:http_parser/http_parser.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:jmap_dart_client/jmap/identities/identity.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
@@ -44,7 +42,7 @@ import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_draft
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/download_image_as_base64_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_all_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/controller/rich_text_web_controller.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/controller/rich_text_mobile_tablet_controller.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
|
||||
@@ -129,7 +127,7 @@ class ComposerController extends BaseController {
|
||||
final DownloadImageAsBase64Interactor _downloadImageAsBase64Interactor;
|
||||
final TransformHtmlEmailContentInteractor _transformHtmlEmailContentInteractor;
|
||||
|
||||
GetAutoCompleteWithDeviceContactInteractor? _getAutoCompleteWithDeviceContactInteractor;
|
||||
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
|
||||
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
||||
|
||||
List<EmailAddress> listToEmailAddress = <EmailAddress>[];
|
||||
@@ -1029,34 +1027,19 @@ class ComposerController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void injectAutoCompleteBindings(Session? session, AccountId? accountId) {
|
||||
try {
|
||||
super.injectAutoCompleteBindings(session, accountId);
|
||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
||||
} catch (e) {
|
||||
logError('ComposerController::injectAutoCompleteBindings(): $e');
|
||||
}
|
||||
}
|
||||
|
||||
Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
|
||||
log('ComposerController::getAutoCompleteSuggestion(): $word | $_contactSuggestionSource');
|
||||
try {
|
||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
||||
} catch (e) {
|
||||
logError('ComposerController::getAutoCompleteSuggestion(): Exception $e');
|
||||
}
|
||||
_getAllAutoCompleteInteractor = getBinding<GetAllAutoCompleteInteractor>();
|
||||
_getAutoCompleteInteractor = getBinding<GetAutoCompleteInteractor>();
|
||||
|
||||
final accountId = mailboxDashBoardController.accountId.value;
|
||||
|
||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||
if (_getAutoCompleteWithDeviceContactInteractor == null || _getAutoCompleteInteractor == null) {
|
||||
if (_getAllAutoCompleteInteractor == null || _getAutoCompleteInteractor == null) {
|
||||
return <EmailAddress>[];
|
||||
}
|
||||
|
||||
final listEmailAddress = await _getAutoCompleteWithDeviceContactInteractor!
|
||||
final listEmailAddress = await _getAllAutoCompleteInteractor!
|
||||
.execute(AutoCompletePattern(word: word, accountId: accountId))
|
||||
.then((value) => value.fold(
|
||||
(failure) => <EmailAddress>[],
|
||||
|
||||
@@ -14,7 +14,7 @@ import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_all_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/contact/presentation/model/contact_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/contact/presentation/widgets/contact_suggestion_box_item.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
||||
@@ -29,7 +29,7 @@ class ContactController extends BaseController {
|
||||
final searchQuery = SearchQuery.initial().obs;
|
||||
final listContactSearched = RxList<EmailAddress>();
|
||||
|
||||
GetAutoCompleteWithDeviceContactInteractor? _getAutoCompleteWithDeviceContactInteractor;
|
||||
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
|
||||
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
||||
|
||||
final Debouncer<String> _deBouncerTime = Debouncer<String>(const Duration(milliseconds: 500), initialValue: '');
|
||||
@@ -116,31 +116,16 @@ class ContactController extends BaseController {
|
||||
listContactSearched.value = listContact;
|
||||
}
|
||||
|
||||
@override
|
||||
void injectAutoCompleteBindings(Session? session, AccountId? accountId) {
|
||||
try {
|
||||
super.injectAutoCompleteBindings(session, accountId);
|
||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
||||
} catch (e) {
|
||||
logError('ContactController::injectAutoCompleteBindings(): $e');
|
||||
}
|
||||
}
|
||||
|
||||
Future<List<EmailAddress>> _getAutoCompleteSuggestion(String query) async {
|
||||
try {
|
||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
||||
} catch (e) {
|
||||
logError('ContactController::getAutoCompleteSuggestion(): Exception $e');
|
||||
}
|
||||
_getAllAutoCompleteInteractor = getBinding<GetAllAutoCompleteInteractor>();
|
||||
_getAutoCompleteInteractor = getBinding<GetAutoCompleteInteractor>();
|
||||
|
||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||
if (_getAutoCompleteWithDeviceContactInteractor == null || _getAutoCompleteInteractor == null) {
|
||||
if (_getAllAutoCompleteInteractor == null || _getAutoCompleteInteractor == null) {
|
||||
return <EmailAddress>[];
|
||||
}
|
||||
|
||||
final listEmailAddress = await _getAutoCompleteWithDeviceContactInteractor!
|
||||
final listEmailAddress = await _getAllAutoCompleteInteractor!
|
||||
.execute(AutoCompletePattern(word: query, limit: 30, accountId: _accountId))
|
||||
.then((value) => value.fold(
|
||||
(failure) => <EmailAddress>[],
|
||||
|
||||
+4
-4
@@ -6,7 +6,7 @@ import 'package:tmail_ui_user/features/base/base_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/composer/data/repository/auto_complete_repository_impl.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/repository/auto_complete_repository.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_all_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_device_contact_suggestions_interactor.dart';
|
||||
|
||||
class TMailAutoCompleteBindings extends BaseBindings {
|
||||
@@ -25,9 +25,9 @@ class TMailAutoCompleteBindings extends BaseBindings {
|
||||
@override
|
||||
void bindingsInteractor() {
|
||||
Get.put(GetAutoCompleteInteractor(Get.find<AutoCompleteRepository>()));
|
||||
Get.put(GetAutoCompleteWithDeviceContactInteractor(
|
||||
Get.find<GetAutoCompleteInteractor>(),
|
||||
Get.find<GetDeviceContactSuggestionsInteractor>()
|
||||
Get.put(GetAllAutoCompleteInteractor(
|
||||
Get.find<GetAutoCompleteInteractor>(),
|
||||
Get.find<GetDeviceContactSuggestionsInteractor>()
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
+8
-27
@@ -3,8 +3,6 @@ import 'package:core/core.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:model/model.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
@@ -13,7 +11,7 @@ import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_all_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||
@@ -33,7 +31,7 @@ import 'package:tmail_ui_user/main/routes/dialog_router.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
class AdvancedFilterController extends BaseController {
|
||||
GetAutoCompleteWithDeviceContactInteractor? _getAutoCompleteWithDeviceContactInteractor;
|
||||
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
|
||||
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
||||
|
||||
final dateFilterSelectedFormAdvancedSearch = EmailReceiveTimeType.allTime.obs;
|
||||
@@ -190,35 +188,18 @@ class AdvancedFilterController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void injectAutoCompleteBindings(Session? session, AccountId? accountId) {
|
||||
try {
|
||||
super.injectAutoCompleteBindings(session, accountId);
|
||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
||||
} catch (e) {
|
||||
logError('AdvancedFilterController::injectAutoCompleteBindings(): $e');
|
||||
}
|
||||
}
|
||||
|
||||
Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
|
||||
log('AdvancedFilterController::getAutoCompleteSuggestion(): $word | $_contactSuggestionSource');
|
||||
final accountId = _mailboxDashBoardController.accountId.value;
|
||||
|
||||
try {
|
||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
||||
} catch (e) {
|
||||
logError('AdvancedFilterController::getAutoCompleteSuggestion(): Exception $e');
|
||||
}
|
||||
_getAllAutoCompleteInteractor = getBinding<GetAllAutoCompleteInteractor>();
|
||||
_getAutoCompleteInteractor = getBinding<GetAutoCompleteInteractor>();
|
||||
|
||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||
if (_getAutoCompleteWithDeviceContactInteractor == null || _getAutoCompleteInteractor == null) {
|
||||
if (_getAllAutoCompleteInteractor == null || _getAutoCompleteInteractor == null) {
|
||||
return <EmailAddress>[];
|
||||
}
|
||||
|
||||
final listEmailAddress = await _getAutoCompleteWithDeviceContactInteractor!
|
||||
.execute(AutoCompletePattern(word: word, accountId: accountId))
|
||||
final listEmailAddress = await _getAllAutoCompleteInteractor!
|
||||
.execute(AutoCompletePattern(word: word, accountId: _mailboxDashBoardController.accountId.value))
|
||||
.then((value) => value.fold(
|
||||
(failure) => <EmailAddress>[],
|
||||
(success) => success is GetAutoCompleteSuccess
|
||||
@@ -231,7 +212,7 @@ class AdvancedFilterController extends BaseController {
|
||||
}
|
||||
|
||||
final listEmailAddress = await _getAutoCompleteInteractor!
|
||||
.execute(AutoCompletePattern(word: word, accountId: accountId))
|
||||
.execute(AutoCompletePattern(word: word, accountId: _mailboxDashBoardController.accountId.value))
|
||||
.then((value) => value.fold(
|
||||
(failure) => <EmailAddress>[],
|
||||
(success) => success is GetAutoCompleteSuccess
|
||||
|
||||
+9
-7
@@ -9,18 +9,19 @@ import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:model/autocomplete/auto_complete_pattern.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/model/contact_suggestion_source.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/state/get_autocomplete_state.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_all_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/composer/domain/usecases/get_autocomplete_with_device_contact_interactor.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/contact_autocomplete_bindings.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/bindings/tmail_autocomplete_bindings.dart';
|
||||
import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
||||
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||
|
||||
class ForwardRecipientController {
|
||||
|
||||
final ContactSuggestionSource _contactSuggestionSource = ContactSuggestionSource.tMailContact;
|
||||
final TextEditingController inputRecipientController = TextEditingController();
|
||||
|
||||
GetAutoCompleteWithDeviceContactInteractor? _getAutoCompleteWithDeviceContactInteractor;
|
||||
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
|
||||
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
|
||||
AccountId? _accountId;
|
||||
Session? _session;
|
||||
@@ -43,8 +44,6 @@ class ForwardRecipientController {
|
||||
ContactAutoCompleteBindings().dependencies();
|
||||
requireCapability(session!, accountId!, [tmailContactCapabilityIdentifier]);
|
||||
TMailAutoCompleteBindings().dependencies();
|
||||
_getAutoCompleteWithDeviceContactInteractor = Get.find<GetAutoCompleteWithDeviceContactInteractor>();
|
||||
_getAutoCompleteInteractor = Get.find<GetAutoCompleteInteractor>();
|
||||
} catch (e) {
|
||||
logError('ForwardRecipientController::injectAutoCompleteBindings(): exception: $e');
|
||||
}
|
||||
@@ -52,12 +51,15 @@ class ForwardRecipientController {
|
||||
|
||||
Future<List<EmailAddress>> getAutoCompleteSuggestion(String word) async {
|
||||
log('ForwardRecipientController::getAutoCompleteSuggestion(): $word');
|
||||
_getAllAutoCompleteInteractor = getBinding<GetAllAutoCompleteInteractor>();
|
||||
_getAutoCompleteInteractor = getBinding<GetAutoCompleteInteractor>();
|
||||
|
||||
if (_contactSuggestionSource == ContactSuggestionSource.all) {
|
||||
if (_getAutoCompleteWithDeviceContactInteractor == null || _getAutoCompleteInteractor == null) {
|
||||
log('ForwardRecipientController::getAutoCompleteSuggestion(): _getAutoCompleteWithDeviceContactInteractor is NULL');
|
||||
if (_getAllAutoCompleteInteractor == null || _getAutoCompleteInteractor == null) {
|
||||
log('ForwardRecipientController::getAutoCompleteSuggestion(): _getAllAutoCompleteInteractor is NULL');
|
||||
return <EmailAddress>[];
|
||||
} else {
|
||||
return await _getAutoCompleteWithDeviceContactInteractor!
|
||||
return await _getAllAutoCompleteInteractor!
|
||||
.execute(AutoCompletePattern(word: word, accountId: _accountId))
|
||||
.then((value) => value.fold(
|
||||
(failure) => <EmailAddress>[],
|
||||
|
||||
Reference in New Issue
Block a user