TF-4171 Add datasource/repository/interactor for get all labels
This commit is contained in:
@@ -2,3 +2,12 @@ export 'package:labels/model/label.dart';
|
|||||||
export 'package:labels/model/hex_color.dart';
|
export 'package:labels/model/hex_color.dart';
|
||||||
|
|
||||||
export 'package:labels/utils/labels_constants.dart';
|
export 'package:labels/utils/labels_constants.dart';
|
||||||
|
|
||||||
|
export 'package:labels/method/set/set_label_method.dart';
|
||||||
|
export 'package:labels/method/set/set_label_response.dart';
|
||||||
|
export 'package:labels/method/get/get_label_method.dart';
|
||||||
|
export 'package:labels/method/get/get_label_response.dart';
|
||||||
|
export 'package:labels/method/changes/changes_label_method.dart';
|
||||||
|
export 'package:labels/method/changes/changes_label_response.dart';
|
||||||
|
|
||||||
|
export 'package:labels/extensions/label_extension.dart';
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
|
import 'package:labels/model/label.dart';
|
||||||
|
|
||||||
|
abstract class LabelDatasource {
|
||||||
|
Future<List<Label>> getAllLabels(AccountId accountId);
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
|
import 'package:labels/model/label.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/data/datasource/label_datasource.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/data/network/label_api.dart';
|
||||||
|
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
|
||||||
|
|
||||||
|
class LabelDatasourceImpl extends LabelDatasource {
|
||||||
|
final LabelApi _labelApi;
|
||||||
|
final ExceptionThrower _exceptionThrower;
|
||||||
|
|
||||||
|
LabelDatasourceImpl(this._labelApi, this._exceptionThrower);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<Label>> getAllLabels(AccountId accountId) {
|
||||||
|
return Future.sync(() async {
|
||||||
|
return await _labelApi.getAllLabels(accountId);
|
||||||
|
}).catchError((error, stackTrace) async {
|
||||||
|
await _exceptionThrower.throwException(error, stackTrace);
|
||||||
|
throw error;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
import 'package:jmap_dart_client/http/http_client.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/jmap_request.dart';
|
||||||
|
import 'package:labels/labels.dart';
|
||||||
|
|
||||||
|
class LabelApi {
|
||||||
|
final HttpClient _httpClient;
|
||||||
|
|
||||||
|
LabelApi(this._httpClient);
|
||||||
|
|
||||||
|
Future<List<Label>> getAllLabels(AccountId accountId) async {
|
||||||
|
final builder = JmapRequestBuilder(_httpClient, ProcessingInvocation());
|
||||||
|
final method = GetLabelMethod(accountId);
|
||||||
|
final invocation = builder.invocation(method);
|
||||||
|
|
||||||
|
final result =
|
||||||
|
await (builder..usings(method.requiredCapabilities)).build().execute();
|
||||||
|
|
||||||
|
final response = result.parse<GetLabelResponse>(
|
||||||
|
invocation.methodCallId,
|
||||||
|
GetLabelResponse.deserialize,
|
||||||
|
);
|
||||||
|
|
||||||
|
return response?.list ?? [];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
|
import 'package:labels/model/label.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/data/datasource/label_datasource.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/domain/repository/label_repository.dart';
|
||||||
|
|
||||||
|
class LabelRepositoryImpl extends LabelRepository {
|
||||||
|
final LabelDatasource _labelDatasource;
|
||||||
|
|
||||||
|
LabelRepositoryImpl(this._labelDatasource);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<List<Label>> getAllLabels(AccountId accountId) {
|
||||||
|
return _labelDatasource.getAllLabels(accountId);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||||
|
import 'package:labels/model/label.dart';
|
||||||
|
|
||||||
|
abstract class LabelRepository {
|
||||||
|
Future<List<Label>> getAllLabels(AccountId accountId);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
import 'package:core/presentation/state/failure.dart';
|
||||||
|
import 'package:core/presentation/state/success.dart';
|
||||||
|
import 'package:labels/model/label.dart';
|
||||||
|
|
||||||
|
class GettingAllLabel extends LoadingState {}
|
||||||
|
|
||||||
|
class GetAllLabelSuccess extends UIState {
|
||||||
|
final List<Label> labels;
|
||||||
|
|
||||||
|
GetAllLabelSuccess(this.labels);
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object> get props => [labels];
|
||||||
|
}
|
||||||
|
|
||||||
|
class GetAllLabelFailure extends FeatureFailure {
|
||||||
|
GetAllLabelFailure(dynamic exception) : super(exception: exception);
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
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/account_id.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/domain/repository/label_repository.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/domain/state/get_all_label_state.dart';
|
||||||
|
|
||||||
|
class GetAllLabelInteractor {
|
||||||
|
final LabelRepository _labelRepository;
|
||||||
|
|
||||||
|
GetAllLabelInteractor(this._labelRepository);
|
||||||
|
|
||||||
|
Stream<Either<Failure, Success>> execute(AccountId accountId) async* {
|
||||||
|
try {
|
||||||
|
yield Right(GettingAllLabel());
|
||||||
|
final labels = await _labelRepository.getAllLabels(accountId);
|
||||||
|
yield Right(GetAllLabelSuccess(labels));
|
||||||
|
} catch (e) {
|
||||||
|
yield Left(GetAllLabelFailure(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
import 'package:core/presentation/state/failure.dart';
|
||||||
|
import 'package:core/presentation/state/success.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:labels/model/label.dart';
|
||||||
|
import 'package:labels/utils/labels_constants.dart';
|
||||||
|
import 'package:tmail_ui_user/features/base/base_controller.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/domain/state/get_all_label_state.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/domain/usecases/get_all_label_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/presentation/label_interactor_bindings.dart';
|
||||||
|
import 'package:tmail_ui_user/main/error/capability_validator.dart';
|
||||||
|
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
|
||||||
|
|
||||||
|
class LabelController extends BaseController {
|
||||||
|
final labels = <Label>[].obs;
|
||||||
|
|
||||||
|
GetAllLabelInteractor? _getAllLabelInteractor;
|
||||||
|
|
||||||
|
bool isLabelCapabilitySupported(Session session, AccountId accountId) {
|
||||||
|
return LabelsConstants.labelsCapability.isSupported(session, accountId);
|
||||||
|
}
|
||||||
|
|
||||||
|
void injectLabelsBindings() {
|
||||||
|
LabelInteractorBindings().dependencies();
|
||||||
|
_getAllLabelInteractor = getBinding<GetAllLabelInteractor>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void getAllLabels(AccountId accountId) {
|
||||||
|
if (_getAllLabelInteractor == null) return;
|
||||||
|
|
||||||
|
consumeState(_getAllLabelInteractor!.execute(accountId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void handleSuccessViewState(Success success) {
|
||||||
|
if (success is GetAllLabelSuccess) {
|
||||||
|
labels.value = success.labels;
|
||||||
|
} else {
|
||||||
|
super.handleSuccessViewState(success);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void handleFailureViewState(Failure failure) {
|
||||||
|
if (failure is GetAllLabelFailure) {
|
||||||
|
labels.value = [];
|
||||||
|
} else {
|
||||||
|
super.handleFailureViewState(failure);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void onClose() {
|
||||||
|
_getAllLabelInteractor = null;
|
||||||
|
super.onClose();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:jmap_dart_client/http/http_client.dart';
|
||||||
|
import 'package:tmail_ui_user/features/base/interactors_bindings.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/data/datasource/label_datasource.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/data/datasource_impl/label_datasource_impl.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/data/network/label_api.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/data/repository/label_repository_impl.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/domain/repository/label_repository.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/domain/usecases/get_all_label_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
|
||||||
|
|
||||||
|
class LabelInteractorBindings extends InteractorsBindings {
|
||||||
|
@override
|
||||||
|
void bindingsDataSource() {
|
||||||
|
Get.lazyPut<LabelDatasource>(() => Get.find<LabelDatasourceImpl>());
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void bindingsDataSourceImpl() {
|
||||||
|
Get.lazyPut(() => LabelApi(Get.find<HttpClient>()));
|
||||||
|
Get.lazyPut(
|
||||||
|
() => LabelDatasourceImpl(
|
||||||
|
Get.find<LabelApi>(),
|
||||||
|
Get.find<RemoteExceptionThrower>(),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void bindingsInteractor() {
|
||||||
|
Get.lazyPut(() => GetAllLabelInteractor(Get.find<LabelRepository>()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void bindingsRepository() {
|
||||||
|
Get.lazyPut<LabelRepository>(() => Get.find<LabelRepositoryImpl>());
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void bindingsRepositoryImpl() {
|
||||||
|
Get.lazyPut(() => LabelRepositoryImpl(Get.find<LabelDatasource>()));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -55,6 +55,7 @@ import 'package:tmail_ui_user/features/identity_creator/data/datasource_impl/loc
|
|||||||
import 'package:tmail_ui_user/features/identity_creator/data/repository/identity_creator_repository_impl.dart';
|
import 'package:tmail_ui_user/features/identity_creator/data/repository/identity_creator_repository_impl.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/domain/repository/identity_creator_repository.dart';
|
import 'package:tmail_ui_user/features/identity_creator/domain/repository/identity_creator_repository.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/presentation/label_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart';
|
import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/data/datasource/state_datasource.dart';
|
import 'package:tmail_ui_user/features/mailbox/data/datasource/state_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/data/datasource_impl/mailbox_cache_datasource_impl.dart';
|
import 'package:tmail_ui_user/features/mailbox/data/datasource_impl/mailbox_cache_datasource_impl.dart';
|
||||||
@@ -207,6 +208,8 @@ class MailboxDashBoardBindings extends BaseBindings {
|
|||||||
Get.find<GetSpamReportStateInteractor>(),
|
Get.find<GetSpamReportStateInteractor>(),
|
||||||
Get.find<GetSpamMailboxCachedInteractor>()));
|
Get.find<GetSpamMailboxCachedInteractor>()));
|
||||||
|
|
||||||
|
Get.put(LabelController());
|
||||||
|
|
||||||
Get.lazyPut(() => ComposerManager());
|
Get.lazyPut(() => ComposerManager());
|
||||||
|
|
||||||
Get.put(MailboxDashBoardController(
|
Get.put(MailboxDashBoardController(
|
||||||
|
|||||||
+10
@@ -84,6 +84,7 @@ import 'package:tmail_ui_user/features/home/domain/state/auto_sign_in_via_deep_l
|
|||||||
import 'package:tmail_ui_user/features/home/domain/usecases/store_session_interactor.dart';
|
import 'package:tmail_ui_user/features/home/domain/usecases/store_session_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/domain/state/get_identity_cache_on_web_state.dart';
|
import 'package:tmail_ui_user/features/identity_creator/domain/state/get_identity_cache_on_web_state.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/presentation/label_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/exceptions/logout_exception.dart';
|
import 'package:tmail_ui_user/features/login/domain/exceptions/logout_exception.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/state/get_authentication_info_state.dart';
|
import 'package:tmail_ui_user/features/login/domain/state/get_authentication_info_state.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/state/get_stored_oidc_configuration_state.dart';
|
import 'package:tmail_ui_user/features/login/domain/state/get_stored_oidc_configuration_state.dart';
|
||||||
@@ -233,6 +234,7 @@ class MailboxDashBoardController extends ReloadableController
|
|||||||
final AppGridDashboardController appGridDashboardController = Get.find<AppGridDashboardController>();
|
final AppGridDashboardController appGridDashboardController = Get.find<AppGridDashboardController>();
|
||||||
final SpamReportController spamReportController = Get.find<SpamReportController>();
|
final SpamReportController spamReportController = Get.find<SpamReportController>();
|
||||||
final NetworkConnectionController networkConnectionController = Get.find<NetworkConnectionController>();
|
final NetworkConnectionController networkConnectionController = Get.find<NetworkConnectionController>();
|
||||||
|
final LabelController labelController = Get.find<LabelController>();
|
||||||
final ComposerManager composerManager = Get.find<ComposerManager>();
|
final ComposerManager composerManager = Get.find<ComposerManager>();
|
||||||
final getAuthenticationInfoInteractor =
|
final getAuthenticationInfoInteractor =
|
||||||
Get.find<GetAuthenticationInfoInteractor>();
|
Get.find<GetAuthenticationInfoInteractor>();
|
||||||
@@ -905,6 +907,14 @@ class MailboxDashBoardController extends ReloadableController
|
|||||||
paywallController = PaywallController(
|
paywallController = PaywallController(
|
||||||
ownEmailAddress: ownEmailAddress.value,
|
ownEmailAddress: ownEmailAddress.value,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
final isLabelCapabilitySupported = labelController
|
||||||
|
.isLabelCapabilitySupported(session, currentAccountId);
|
||||||
|
|
||||||
|
if (isLabelCapabilitySupported) {
|
||||||
|
labelController.injectLabelsBindings();
|
||||||
|
labelController.getAllLabels(currentAccountId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _handleMailtoURL(MailtoArguments arguments) {
|
void _handleMailtoURL(MailtoArguments arguments) {
|
||||||
|
|||||||
+4
@@ -33,6 +33,7 @@ import 'package:tmail_ui_user/features/email/domain/usecases/unsubscribe_email_i
|
|||||||
import 'package:tmail_ui_user/features/home/domain/usecases/get_session_interactor.dart';
|
import 'package:tmail_ui_user/features/home/domain/usecases/get_session_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/home/domain/usecases/store_session_interactor.dart';
|
import 'package:tmail_ui_user/features/home/domain/usecases/store_session_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/presentation/label_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
||||||
@@ -148,6 +149,7 @@ const fallbackGenerators = {
|
|||||||
MockSpec<DownloadController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<DownloadController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<AppGridDashboardController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<AppGridDashboardController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<SpamReportController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<SpamReportController>(fallbackGenerators: fallbackGenerators),
|
||||||
|
MockSpec<LabelController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<NetworkConnectionController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<NetworkConnectionController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<QuickSearchEmailInteractor>(),
|
MockSpec<QuickSearchEmailInteractor>(),
|
||||||
MockSpec<SaveRecentSearchInteractor>(),
|
MockSpec<SaveRecentSearchInteractor>(),
|
||||||
@@ -241,6 +243,7 @@ void main() {
|
|||||||
final downloadController = MockDownloadController();
|
final downloadController = MockDownloadController();
|
||||||
final appGridDashboardController = MockAppGridDashboardController();
|
final appGridDashboardController = MockAppGridDashboardController();
|
||||||
final spamReportController = MockSpamReportController();
|
final spamReportController = MockSpamReportController();
|
||||||
|
final labelController = MockLabelController();
|
||||||
final networkConnectionController = MockNetworkConnectionController();
|
final networkConnectionController = MockNetworkConnectionController();
|
||||||
|
|
||||||
// mock search controller direct dependencies
|
// mock search controller direct dependencies
|
||||||
@@ -322,6 +325,7 @@ void main() {
|
|||||||
Get.put<DownloadController>(downloadController);
|
Get.put<DownloadController>(downloadController);
|
||||||
Get.put<AppGridDashboardController>(appGridDashboardController);
|
Get.put<AppGridDashboardController>(appGridDashboardController);
|
||||||
Get.put<SpamReportController>(spamReportController);
|
Get.put<SpamReportController>(spamReportController);
|
||||||
|
Get.put<LabelController>(labelController);
|
||||||
Get.put<NetworkConnectionController>(networkConnectionController);
|
Get.put<NetworkConnectionController>(networkConnectionController);
|
||||||
Get.put<CachingManager>(cachingManager);
|
Get.put<CachingManager>(cachingManager);
|
||||||
Get.put<LanguageCacheManager>(languageCacheManager);
|
Get.put<LanguageCacheManager>(languageCacheManager);
|
||||||
|
|||||||
+4
@@ -33,6 +33,7 @@ import 'package:tmail_ui_user/features/email/domain/usecases/unsubscribe_email_i
|
|||||||
import 'package:tmail_ui_user/features/home/domain/usecases/get_session_interactor.dart';
|
import 'package:tmail_ui_user/features/home/domain/usecases/get_session_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/home/domain/usecases/store_session_interactor.dart';
|
import 'package:tmail_ui_user/features/home/domain/usecases/store_session_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/presentation/label_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
||||||
@@ -159,6 +160,7 @@ const fallbackGenerators = {
|
|||||||
MockSpec<DownloadController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<DownloadController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<AppGridDashboardController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<AppGridDashboardController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<SpamReportController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<SpamReportController>(fallbackGenerators: fallbackGenerators),
|
||||||
|
MockSpec<LabelController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<NetworkConnectionController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<NetworkConnectionController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<QuickSearchEmailInteractor>(),
|
MockSpec<QuickSearchEmailInteractor>(),
|
||||||
MockSpec<SaveRecentSearchInteractor>(),
|
MockSpec<SaveRecentSearchInteractor>(),
|
||||||
@@ -242,6 +244,7 @@ void main() {
|
|||||||
final downloadController = MockDownloadController();
|
final downloadController = MockDownloadController();
|
||||||
final appGridDashboardController = MockAppGridDashboardController();
|
final appGridDashboardController = MockAppGridDashboardController();
|
||||||
final spamReportController = MockSpamReportController();
|
final spamReportController = MockSpamReportController();
|
||||||
|
final labelController = MockLabelController();
|
||||||
final networkConnectionController = MockNetworkConnectionController();
|
final networkConnectionController = MockNetworkConnectionController();
|
||||||
|
|
||||||
final quickSearchEmailInteractor = MockQuickSearchEmailInteractor();
|
final quickSearchEmailInteractor = MockQuickSearchEmailInteractor();
|
||||||
@@ -328,6 +331,7 @@ void main() {
|
|||||||
Get.put<DownloadController>(downloadController);
|
Get.put<DownloadController>(downloadController);
|
||||||
Get.put<AppGridDashboardController>(appGridDashboardController);
|
Get.put<AppGridDashboardController>(appGridDashboardController);
|
||||||
Get.put<SpamReportController>(spamReportController);
|
Get.put<SpamReportController>(spamReportController);
|
||||||
|
Get.put<LabelController>(labelController);
|
||||||
Get.put<NetworkConnectionController>(networkConnectionController);
|
Get.put<NetworkConnectionController>(networkConnectionController);
|
||||||
Get.put<CachingManager>(cachingManager);
|
Get.put<CachingManager>(cachingManager);
|
||||||
Get.put<LanguageCacheManager>(languageCacheManager);
|
Get.put<LanguageCacheManager>(languageCacheManager);
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart
|
|||||||
import 'package:tmail_ui_user/features/home/domain/usecases/get_session_interactor.dart';
|
import 'package:tmail_ui_user/features/home/domain/usecases/get_session_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/home/domain/usecases/store_session_interactor.dart';
|
import 'package:tmail_ui_user/features/home/domain/usecases/store_session_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
import 'package:tmail_ui_user/features/identity_creator/domain/usecase/get_identity_cache_on_web_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/labels/presentation/label_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
import 'package:tmail_ui_user/features/login/data/network/interceptors/authorization_interceptors.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_authority_oidc_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
import 'package:tmail_ui_user/features/login/domain/usecases/delete_credential_interactor.dart';
|
||||||
@@ -136,6 +137,7 @@ const fallbackGenerators = {
|
|||||||
MockSpec<DownloadController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<DownloadController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<AppGridDashboardController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<AppGridDashboardController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<SpamReportController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<SpamReportController>(fallbackGenerators: fallbackGenerators),
|
||||||
|
MockSpec<LabelController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<NetworkConnectionController>(fallbackGenerators: fallbackGenerators),
|
MockSpec<NetworkConnectionController>(fallbackGenerators: fallbackGenerators),
|
||||||
MockSpec<RemoveEmailDraftsInteractor>(),
|
MockSpec<RemoveEmailDraftsInteractor>(),
|
||||||
MockSpec<MoveToMailboxInteractor>(),
|
MockSpec<MoveToMailboxInteractor>(),
|
||||||
@@ -203,6 +205,7 @@ void main() {
|
|||||||
final MockDownloadController downloadController = MockDownloadController();
|
final MockDownloadController downloadController = MockDownloadController();
|
||||||
final MockAppGridDashboardController appGridDashboardController = MockAppGridDashboardController();
|
final MockAppGridDashboardController appGridDashboardController = MockAppGridDashboardController();
|
||||||
final MockSpamReportController spamReportController = MockSpamReportController();
|
final MockSpamReportController spamReportController = MockSpamReportController();
|
||||||
|
final MockLabelController labelController = MockLabelController();
|
||||||
final MockNetworkConnectionController networkConnectionController = MockNetworkConnectionController();
|
final MockNetworkConnectionController networkConnectionController = MockNetworkConnectionController();
|
||||||
final composerManager = MockComposerManager();
|
final composerManager = MockComposerManager();
|
||||||
|
|
||||||
@@ -346,6 +349,7 @@ void main() {
|
|||||||
Get.put<DownloadController>(downloadController);
|
Get.put<DownloadController>(downloadController);
|
||||||
Get.put<AppGridDashboardController>(appGridDashboardController);
|
Get.put<AppGridDashboardController>(appGridDashboardController);
|
||||||
Get.put<SpamReportController>(spamReportController);
|
Get.put<SpamReportController>(spamReportController);
|
||||||
|
Get.put<LabelController>(labelController);
|
||||||
Get.put<NetworkConnectionController>(networkConnectionController);
|
Get.put<NetworkConnectionController>(networkConnectionController);
|
||||||
Get.put<GetSessionInteractor>(getSessionInteractor);
|
Get.put<GetSessionInteractor>(getSessionInteractor);
|
||||||
Get.put<GetAuthenticatedAccountInteractor>(getAuthenticatedAccountInteractor);
|
Get.put<GetAuthenticatedAccountInteractor>(getAuthenticatedAccountInteractor);
|
||||||
|
|||||||
Reference in New Issue
Block a user