TF-1812 Implement interactor store sending email
(cherry picked from commit d1a064ec87c9f0ebdb373c893d891db9a93a9d37)
This commit is contained in:
@@ -24,6 +24,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/data/model/recent_searc
|
|||||||
import 'package:tmail_ui_user/features/offline_mode/model/attachment_hive_cache.dart';
|
import 'package:tmail_ui_user/features/offline_mode/model/attachment_hive_cache.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/model/detailed_email_hive_cache.dart';
|
import 'package:tmail_ui_user/features/offline_mode/model/detailed_email_hive_cache.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/model/email_header_hive_cache.dart';
|
import 'package:tmail_ui_user/features/offline_mode/model/email_header_hive_cache.dart';
|
||||||
|
import 'package:tmail_ui_user/features/offline_mode/model/sending_email_hive_cache.dart';
|
||||||
import 'package:tmail_ui_user/features/push_notification/data/model/fcm_subscription.dart';
|
import 'package:tmail_ui_user/features/push_notification/data/model/fcm_subscription.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/data/model/email_address_hive_cache.dart';
|
import 'package:tmail_ui_user/features/thread/data/model/email_address_hive_cache.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/data/model/email_cache.dart';
|
import 'package:tmail_ui_user/features/thread/data/model/email_cache.dart';
|
||||||
@@ -150,6 +151,10 @@ class HiveCacheConfig {
|
|||||||
DetailedEmailHiveCacheAdapter(),
|
DetailedEmailHiveCacheAdapter(),
|
||||||
CachingConstants.DETAILED_EMAIL_HIVE_CACHE_ID
|
CachingConstants.DETAILED_EMAIL_HIVE_CACHE_ID
|
||||||
);
|
);
|
||||||
|
registerCacheAdapter<SendingEmailHiveCache>(
|
||||||
|
SendingEmailHiveCacheAdapter(),
|
||||||
|
CachingConstants.SENDING_EMAIL_HIVE_CACHE_ID
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void registerCacheAdapter<T>(TypeAdapter<T> typeAdapter, int typeId) {
|
void registerCacheAdapter<T>(TypeAdapter<T> typeAdapter, int typeId) {
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
|
||||||
|
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
|
||||||
|
|
||||||
|
extension EmailRequestExtension on EmailRequest {
|
||||||
|
SendingEmail toSendingEmail(String sendingId, {CreateNewMailboxRequest? mailboxRequest}) {
|
||||||
|
return SendingEmail(
|
||||||
|
sendingId: sendingId,
|
||||||
|
email: email,
|
||||||
|
emailActionType: emailActionType,
|
||||||
|
sentMailboxId: sentMailboxId,
|
||||||
|
emailIdDestroyed: emailIdDestroyed,
|
||||||
|
emailIdAnsweredOrForwarded: emailIdAnsweredOrForwarded,
|
||||||
|
identityId: identityId,
|
||||||
|
mailboxNameRequest: mailboxRequest?.newName,
|
||||||
|
creationIdRequest: mailboxRequest?.creationId
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,23 +11,23 @@ class EmailRequest with EquatableMixin {
|
|||||||
final MailboxId? sentMailboxId;
|
final MailboxId? sentMailboxId;
|
||||||
final EmailId? emailIdDestroyed;
|
final EmailId? emailIdDestroyed;
|
||||||
final EmailId? emailIdAnsweredOrForwarded;
|
final EmailId? emailIdAnsweredOrForwarded;
|
||||||
final Identity? identity;
|
final IdentityId? identityId;
|
||||||
final EmailActionType? emailActionType;
|
final EmailActionType emailActionType;
|
||||||
|
|
||||||
EmailRequest(
|
EmailRequest({
|
||||||
this.email, {
|
required this.email,
|
||||||
|
required this.emailActionType,
|
||||||
this.sentMailboxId,
|
this.sentMailboxId,
|
||||||
this.identity,
|
this.identityId,
|
||||||
this.emailIdDestroyed,
|
this.emailIdDestroyed,
|
||||||
this.emailIdAnsweredOrForwarded,
|
this.emailIdAnsweredOrForwarded,
|
||||||
this.emailActionType
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
List<Object?> get props => [
|
List<Object?> get props => [
|
||||||
email,
|
email,
|
||||||
sentMailboxId,
|
sentMailboxId,
|
||||||
identity,
|
identityId,
|
||||||
emailIdDestroyed,
|
emailIdDestroyed,
|
||||||
emailIdAnsweredOrForwarded,
|
emailIdAnsweredOrForwarded,
|
||||||
emailActionType
|
emailActionType
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache
|
|||||||
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
||||||
|
import 'package:tmail_ui_user/features/offline_mode/manager/sending_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/upload/data/datasource/attachment_upload_datasource.dart';
|
import 'package:tmail_ui_user/features/upload/data/datasource/attachment_upload_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/upload/data/datasource_impl/attachment_upload_datasource_impl.dart';
|
import 'package:tmail_ui_user/features/upload/data/datasource_impl/attachment_upload_datasource_impl.dart';
|
||||||
@@ -102,6 +103,7 @@ class ComposerBindings extends BaseBindings {
|
|||||||
Get.find<DetailedEmailCacheWorkerQueue>(),
|
Get.find<DetailedEmailCacheWorkerQueue>(),
|
||||||
Get.find<OpenedEmailCacheWorkerQueue>(),
|
Get.find<OpenedEmailCacheWorkerQueue>(),
|
||||||
Get.find<EmailCacheManager>(),
|
Get.find<EmailCacheManager>(),
|
||||||
|
Get.find<SendingEmailCacheManager>(),
|
||||||
Get.find<FileUtils>(),
|
Get.find<FileUtils>(),
|
||||||
Get.find<CacheExceptionThrower>()));
|
Get.find<CacheExceptionThrower>()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -796,9 +796,9 @@ class ComposerController extends BaseController {
|
|||||||
if (arguments != null && accountId != null && userProfile != null && session != null) {
|
if (arguments != null && accountId != null && userProfile != null && session != null) {
|
||||||
final email = await _generateEmail(context, userProfile, outboxMailboxId: outboxMailboxId);
|
final email = await _generateEmail(context, userProfile, outboxMailboxId: outboxMailboxId);
|
||||||
final emailRequest = EmailRequest(
|
final emailRequest = EmailRequest(
|
||||||
email,
|
email: email,
|
||||||
sentMailboxId: sentMailboxId,
|
sentMailboxId: sentMailboxId,
|
||||||
identity: identitySelected.value,
|
identityId: identitySelected.value?.id,
|
||||||
emailIdDestroyed: arguments.emailActionType == EmailActionType.edit
|
emailIdDestroyed: arguments.emailActionType == EmailActionType.edit
|
||||||
? arguments.presentationEmail?.id
|
? arguments.presentationEmail?.id
|
||||||
: null,
|
: null,
|
||||||
|
|||||||
@@ -8,9 +8,11 @@ import 'package:dartz/dartz.dart';
|
|||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:jmap_dart_client/jmap/account_id.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/core/session/session.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||||
import 'package:model/model.dart';
|
import 'package:model/model.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.dart';
|
import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/network/email_api.dart';
|
import 'package:tmail_ui_user/features/email/data/network/email_api.dart';
|
||||||
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
|
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
|
||||||
@@ -186,4 +188,9 @@ class EmailDataSourceImpl extends EmailDataSource {
|
|||||||
Future<Email?> getEmailStored(Session session, AccountId accountId, EmailId emailId) {
|
Future<Email?> getEmailStored(Session session, AccountId accountId, EmailId emailId) {
|
||||||
throw UnimplementedError();
|
throw UnimplementedError();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> storeSendingEmail(AccountId accountId, UserName userName, SendingEmail sendingEmail) {
|
||||||
|
throw UnimplementedError();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -12,6 +12,7 @@ import 'package:dartz/dartz.dart';
|
|||||||
import 'package:dio/dio.dart';
|
import 'package:dio/dio.dart';
|
||||||
import 'package:jmap_dart_client/jmap/account_id.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/core/session/session.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||||
import 'package:model/account/account_request.dart';
|
import 'package:model/account/account_request.dart';
|
||||||
import 'package:model/download/download_task_id.dart';
|
import 'package:model/download/download_task_id.dart';
|
||||||
@@ -20,7 +21,9 @@ import 'package:model/email/mark_star_action.dart';
|
|||||||
import 'package:model/email/read_actions.dart';
|
import 'package:model/email/read_actions.dart';
|
||||||
import 'package:model/extensions/email_id_extensions.dart';
|
import 'package:model/extensions/email_id_extensions.dart';
|
||||||
import 'package:tmail_ui_user/features/caching/utils/caching_constants.dart';
|
import 'package:tmail_ui_user/features/caching/utils/caching_constants.dart';
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/extensions/sending_email_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.dart';
|
import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/email/domain/extensions/detailed_email_extension.dart';
|
import 'package:tmail_ui_user/features/email/domain/extensions/detailed_email_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/email/domain/extensions/detailed_email_hive_cache_extension.dart';
|
import 'package:tmail_ui_user/features/email/domain/extensions/detailed_email_hive_cache_extension.dart';
|
||||||
@@ -34,6 +37,7 @@ import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_m
|
|||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/worker/hive_task.dart';
|
import 'package:tmail_ui_user/features/offline_mode/worker/hive_task.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/data/extensions/email_cache_extension.dart';
|
import 'package:tmail_ui_user/features/thread/data/extensions/email_cache_extension.dart';
|
||||||
|
import 'package:tmail_ui_user/features/offline_mode/manager/sending_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/data/extensions/email_extension.dart';
|
import 'package:tmail_ui_user/features/thread/data/extensions/email_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
|
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
|
||||||
@@ -45,6 +49,7 @@ class EmailHiveCacheDataSourceImpl extends EmailDataSource {
|
|||||||
final DetailedEmailCacheWorkerQueue _cacheWorkerQueue;
|
final DetailedEmailCacheWorkerQueue _cacheWorkerQueue;
|
||||||
final OpenedEmailCacheWorkerQueue _openedEmailCacheWorkerQueue;
|
final OpenedEmailCacheWorkerQueue _openedEmailCacheWorkerQueue;
|
||||||
final EmailCacheManager _emailCacheManager;
|
final EmailCacheManager _emailCacheManager;
|
||||||
|
final SendingEmailCacheManager _sendingEmailCacheManager;
|
||||||
final FileUtils _fileUtils;
|
final FileUtils _fileUtils;
|
||||||
final ExceptionThrower _exceptionThrower;
|
final ExceptionThrower _exceptionThrower;
|
||||||
|
|
||||||
@@ -54,6 +59,7 @@ class EmailHiveCacheDataSourceImpl extends EmailDataSource {
|
|||||||
this._cacheWorkerQueue,
|
this._cacheWorkerQueue,
|
||||||
this._openedEmailCacheWorkerQueue,
|
this._openedEmailCacheWorkerQueue,
|
||||||
this._emailCacheManager,
|
this._emailCacheManager,
|
||||||
|
this._sendingEmailCacheManager,
|
||||||
this._fileUtils,
|
this._fileUtils,
|
||||||
this._exceptionThrower
|
this._exceptionThrower
|
||||||
);
|
);
|
||||||
@@ -239,4 +245,11 @@ class EmailHiveCacheDataSourceImpl extends EmailDataSource {
|
|||||||
return email?.toEmail();
|
return email?.toEmail();
|
||||||
}).catchError(_exceptionThrower.throwException);
|
}).catchError(_exceptionThrower.throwException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> storeSendingEmail(AccountId accountId, UserName userName, SendingEmail sendingEmail) {
|
||||||
|
return Future.sync(() async {
|
||||||
|
return await _sendingEmailCacheManager.storeSendingEmail(accountId, userName, sendingEmail.toHiveCache());
|
||||||
|
}).catchError(_exceptionThrower.throwException);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -153,7 +153,7 @@ class EmailAPI with HandleSetErrorMixin {
|
|||||||
})
|
})
|
||||||
};
|
};
|
||||||
final emailSubmission = EmailSubmission(
|
final emailSubmission = EmailSubmission(
|
||||||
identityId: emailRequest.identity?.id?.id,
|
identityId: emailRequest.identityId?.id,
|
||||||
emailId: EmailId(ReferenceId(ReferencePrefix.defaultPrefix, idCreateMethod)),
|
emailId: EmailId(ReferenceId(ReferencePrefix.defaultPrefix, idCreateMethod)),
|
||||||
envelope: Envelope(mailFrom, recipientsList));
|
envelope: Envelope(mailFrom, recipientsList));
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import 'package:dio/dio.dart';
|
|||||||
import 'package:jmap_dart_client/jmap/account_id.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/core/session/session.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||||
|
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||||
import 'package:model/account/account_request.dart';
|
import 'package:model/account/account_request.dart';
|
||||||
import 'package:model/download/download_task_id.dart';
|
import 'package:model/download/download_task_id.dart';
|
||||||
@@ -19,6 +20,7 @@ import 'package:model/email/email_content.dart';
|
|||||||
import 'package:model/email/mark_star_action.dart';
|
import 'package:model/email/mark_star_action.dart';
|
||||||
import 'package:model/email/read_actions.dart';
|
import 'package:model/email/read_actions.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.dart';
|
import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/datasource/html_datasource.dart';
|
import 'package:tmail_ui_user/features/email/data/datasource/html_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
|
import 'package:tmail_ui_user/features/email/domain/model/detailed_email.dart';
|
||||||
@@ -219,4 +221,9 @@ class EmailRepositoryImpl extends EmailRepository {
|
|||||||
Future<Email?> getEmailStored(Session session, AccountId accountId, EmailId emailId) {
|
Future<Email?> getEmailStored(Session session, AccountId accountId, EmailId emailId) {
|
||||||
return emailDataSource[DataSourceType.hiveCache]!.getEmailStored(session, accountId, emailId);
|
return emailDataSource[DataSourceType.hiveCache]!.getEmailStored(session, accountId, emailId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> storeSendingEmail(AccountId accountId, UserName userName, SendingEmail sendingEmail) {
|
||||||
|
return emailDataSource[DataSourceType.hiveCache]!.storeSendingEmail(accountId, userName, sendingEmail);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
import 'package:core/presentation/state/failure.dart';
|
||||||
|
import 'package:core/presentation/state/success.dart';
|
||||||
|
|
||||||
|
class StoreSendingEmailLoading extends UIState {}
|
||||||
|
|
||||||
|
class StoreSendingEmailSuccess extends UIState {}
|
||||||
|
|
||||||
|
class StoreSendingEmailFailure extends FeatureFailure {
|
||||||
|
StoreSendingEmailFailure(dynamic exception) : super(exception: exception);
|
||||||
|
|
||||||
|
@override
|
||||||
|
List<Object?> get props => [exception];
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
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:jmap_dart_client/jmap/core/user_name.dart';
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
|
||||||
|
import 'package:tmail_ui_user/features/email/domain/repository/email_repository.dart';
|
||||||
|
import 'package:tmail_ui_user/features/email/domain/state/store_sending_email_state.dart';
|
||||||
|
|
||||||
|
class StoreSendingEmailInteractor {
|
||||||
|
final EmailRepository _emailRepository;
|
||||||
|
|
||||||
|
StoreSendingEmailInteractor(this._emailRepository);
|
||||||
|
|
||||||
|
Stream<Either<Failure, Success>> execute(AccountId accountId, UserName userName, SendingEmail sendingEmail) async* {
|
||||||
|
try {
|
||||||
|
yield Right<Failure, Success>(StoreSendingEmailLoading());
|
||||||
|
await _emailRepository.storeSendingEmail(accountId, userName, sendingEmail);
|
||||||
|
yield Right<Failure, Success>(StoreSendingEmailSuccess());
|
||||||
|
} catch (e) {
|
||||||
|
yield Left<Failure, Success>(StoreSendingEmailFailure(e));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -47,6 +47,7 @@ import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache
|
|||||||
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
||||||
|
import 'package:tmail_ui_user/features/offline_mode/manager/sending_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
|
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
|
||||||
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
|
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
|
||||||
@@ -105,6 +106,7 @@ class EmailBindings extends BaseBindings {
|
|||||||
Get.find<DetailedEmailCacheWorkerQueue>(),
|
Get.find<DetailedEmailCacheWorkerQueue>(),
|
||||||
Get.find<OpenedEmailCacheWorkerQueue>(),
|
Get.find<OpenedEmailCacheWorkerQueue>(),
|
||||||
Get.find<EmailCacheManager>(),
|
Get.find<EmailCacheManager>(),
|
||||||
|
Get.find<SendingEmailCacheManager>(),
|
||||||
Get.find<FileUtils>(),
|
Get.find<FileUtils>(),
|
||||||
Get.find<CacheExceptionThrower>()));
|
Get.find<CacheExceptionThrower>()));
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-1
@@ -9,6 +9,7 @@ import 'package:tmail_ui_user/features/caching/clients/state_cache_client.dart';
|
|||||||
import 'package:tmail_ui_user/features/composer/data/repository/contact_repository_impl.dart';
|
import 'package:tmail_ui_user/features/composer/data/repository/contact_repository_impl.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/repository/contact_repository.dart';
|
import 'package:tmail_ui_user/features/composer/domain/repository/contact_repository.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/send_email_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/send_email_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/email/domain/usecases/store_sending_email_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.dart';
|
import 'package:tmail_ui_user/features/email/data/datasource/email_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/datasource/html_datasource.dart';
|
import 'package:tmail_ui_user/features/email/data/datasource/html_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/datasource_impl/email_datasource_impl.dart';
|
import 'package:tmail_ui_user/features/email/data/datasource_impl/email_datasource_impl.dart';
|
||||||
@@ -98,6 +99,7 @@ import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache
|
|||||||
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
||||||
|
import 'package:tmail_ui_user/features/offline_mode/manager/sending_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/quotas/presentation/quotas_controller_bindings.dart';
|
import 'package:tmail_ui_user/features/quotas/presentation/quotas_controller_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/search/email/domain/usecases/refresh_changes_search_email_interactor.dart';
|
import 'package:tmail_ui_user/features/search/email/domain/usecases/refresh_changes_search_email_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/search/email/presentation/search_email_bindings.dart';
|
import 'package:tmail_ui_user/features/search/email/presentation/search_email_bindings.dart';
|
||||||
@@ -167,7 +169,8 @@ class MailboxDashBoardBindings extends BaseBindings {
|
|||||||
Get.find<EmptyTrashFolderInteractor>(),
|
Get.find<EmptyTrashFolderInteractor>(),
|
||||||
Get.find<DeleteMultipleEmailsPermanentlyInteractor>(),
|
Get.find<DeleteMultipleEmailsPermanentlyInteractor>(),
|
||||||
Get.find<GetEmailByIdInteractor>(),
|
Get.find<GetEmailByIdInteractor>(),
|
||||||
Get.find<SendEmailInteractor>()
|
Get.find<SendEmailInteractor>(),
|
||||||
|
Get.find<StoreSendingEmailInteractor>()
|
||||||
));
|
));
|
||||||
Get.put(AdvancedFilterController());
|
Get.put(AdvancedFilterController());
|
||||||
}
|
}
|
||||||
@@ -239,6 +242,7 @@ class MailboxDashBoardBindings extends BaseBindings {
|
|||||||
Get.find<DetailedEmailCacheWorkerQueue>(),
|
Get.find<DetailedEmailCacheWorkerQueue>(),
|
||||||
Get.find<OpenedEmailCacheWorkerQueue>(),
|
Get.find<OpenedEmailCacheWorkerQueue>(),
|
||||||
Get.find<EmailCacheManager>(),
|
Get.find<EmailCacheManager>(),
|
||||||
|
Get.find<SendingEmailCacheManager>(),
|
||||||
Get.find<FileUtils>(),
|
Get.find<FileUtils>(),
|
||||||
Get.find<CacheExceptionThrower>()));
|
Get.find<CacheExceptionThrower>()));
|
||||||
}
|
}
|
||||||
@@ -319,6 +323,7 @@ class MailboxDashBoardBindings extends BaseBindings {
|
|||||||
Get.find<EmailRepository>(),
|
Get.find<EmailRepository>(),
|
||||||
Get.find<MailboxRepository>()
|
Get.find<MailboxRepository>()
|
||||||
));
|
));
|
||||||
|
Get.lazyPut(() => StoreSendingEmailInteractor(Get.find<EmailRepository>()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
+49
-7
@@ -14,6 +14,7 @@ import 'package:jmap_dart_client/jmap/core/capability/mail_capability.dart';
|
|||||||
import 'package:jmap_dart_client/jmap/core/error/set_error.dart';
|
import 'package:jmap_dart_client/jmap/core/error/set_error.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
|
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
|
||||||
|
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart';
|
import 'package:jmap_dart_client/jmap/mail/vacation/vacation_response.dart';
|
||||||
@@ -24,11 +25,15 @@ import 'package:rxdart/transformers.dart';
|
|||||||
import 'package:tmail_ui_user/features/base/action/ui_action.dart';
|
import 'package:tmail_ui_user/features/base/action/ui_action.dart';
|
||||||
import 'package:tmail_ui_user/features/base/reloadable/reloadable_controller.dart';
|
import 'package:tmail_ui_user/features/base/reloadable/reloadable_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/exceptions/set_email_method_exception.dart';
|
import 'package:tmail_ui_user/features/composer/domain/exceptions/set_email_method_exception.dart';
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/extensions/email_requestl_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
import 'package:tmail_ui_user/features/composer/domain/model/email_request.dart';
|
||||||
|
import 'package:tmail_ui_user/features/composer/domain/model/sending_email.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_drafts_state.dart';
|
import 'package:tmail_ui_user/features/composer/domain/state/save_email_as_drafts_state.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/state/send_email_state.dart';
|
import 'package:tmail_ui_user/features/composer/domain/state/send_email_state.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart';
|
import 'package:tmail_ui_user/features/composer/domain/state/update_email_drafts_state.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/domain/usecases/send_email_interactor.dart';
|
import 'package:tmail_ui_user/features/composer/domain/usecases/send_email_interactor.dart';
|
||||||
|
import 'package:tmail_ui_user/features/email/domain/state/store_sending_email_state.dart';
|
||||||
|
import 'package:tmail_ui_user/features/email/domain/usecases/store_sending_email_interactor.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/presentation/composer_bindings.dart';
|
import 'package:tmail_ui_user/features/composer/presentation/composer_bindings.dart';
|
||||||
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
|
import 'package:tmail_ui_user/features/composer/presentation/extensions/email_action_type_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
|
import 'package:tmail_ui_user/features/destination_picker/presentation/model/destination_picker_arguments.dart';
|
||||||
@@ -80,6 +85,7 @@ import 'package:tmail_ui_user/features/manage_account/presentation/extensions/da
|
|||||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart';
|
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/vacation_response_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
|
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
|
||||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/manage_account_arguments.dart';
|
import 'package:tmail_ui_user/features/manage_account/presentation/model/manage_account_arguments.dart';
|
||||||
|
import 'package:tmail_ui_user/features/network_status_handle/presentation/network_connnection_controller.dart';
|
||||||
import 'package:tmail_ui_user/features/push_notification/domain/state/get_email_state_to_refresh_state.dart';
|
import 'package:tmail_ui_user/features/push_notification/domain/state/get_email_state_to_refresh_state.dart';
|
||||||
import 'package:tmail_ui_user/features/push_notification/domain/state/get_mailbox_state_to_refresh_state.dart';
|
import 'package:tmail_ui_user/features/push_notification/domain/state/get_mailbox_state_to_refresh_state.dart';
|
||||||
import 'package:tmail_ui_user/features/push_notification/domain/usecases/delete_email_state_to_refresh_interactor.dart';
|
import 'package:tmail_ui_user/features/push_notification/domain/usecases/delete_email_state_to_refresh_interactor.dart';
|
||||||
@@ -110,6 +116,7 @@ import 'package:tmail_ui_user/main/routes/route_utils.dart';
|
|||||||
import 'package:tmail_ui_user/main/routes/router_arguments.dart';
|
import 'package:tmail_ui_user/main/routes/router_arguments.dart';
|
||||||
import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
|
import 'package:tmail_ui_user/main/utils/email_receive_manager.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||||
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
class MailboxDashBoardController extends ReloadableController {
|
class MailboxDashBoardController extends ReloadableController {
|
||||||
|
|
||||||
@@ -122,6 +129,8 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
final DownloadController downloadController = Get.find<DownloadController>();
|
final DownloadController downloadController = Get.find<DownloadController>();
|
||||||
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 Uuid _uuid = Get.find<Uuid>();
|
||||||
|
|
||||||
final MoveToMailboxInteractor _moveToMailboxInteractor;
|
final MoveToMailboxInteractor _moveToMailboxInteractor;
|
||||||
final DeleteEmailPermanentlyInteractor _deleteEmailPermanentlyInteractor;
|
final DeleteEmailPermanentlyInteractor _deleteEmailPermanentlyInteractor;
|
||||||
@@ -136,6 +145,7 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
final DeleteMultipleEmailsPermanentlyInteractor _deleteMultipleEmailsPermanentlyInteractor;
|
final DeleteMultipleEmailsPermanentlyInteractor _deleteMultipleEmailsPermanentlyInteractor;
|
||||||
final GetEmailByIdInteractor _getEmailByIdInteractor;
|
final GetEmailByIdInteractor _getEmailByIdInteractor;
|
||||||
final SendEmailInteractor _sendEmailInteractor;
|
final SendEmailInteractor _sendEmailInteractor;
|
||||||
|
final StoreSendingEmailInteractor _storeSendingEmailInteractor;
|
||||||
|
|
||||||
GetAllVacationInteractor? _getAllVacationInteractor;
|
GetAllVacationInteractor? _getAllVacationInteractor;
|
||||||
UpdateVacationInteractor? _updateVacationInteractor;
|
UpdateVacationInteractor? _updateVacationInteractor;
|
||||||
@@ -202,7 +212,8 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
this._emptyTrashFolderInteractor,
|
this._emptyTrashFolderInteractor,
|
||||||
this._deleteMultipleEmailsPermanentlyInteractor,
|
this._deleteMultipleEmailsPermanentlyInteractor,
|
||||||
this._getEmailByIdInteractor,
|
this._getEmailByIdInteractor,
|
||||||
this._sendEmailInteractor
|
this._sendEmailInteractor,
|
||||||
|
this._storeSendingEmailInteractor,
|
||||||
) : super(
|
) : super(
|
||||||
getAuthenticatedAccountInteractor,
|
getAuthenticatedAccountInteractor,
|
||||||
updateAuthenticationAccountInteractor
|
updateAuthenticationAccountInteractor
|
||||||
@@ -305,6 +316,8 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
appGridDashboardController.handleShowAppDashboard(success.linagoraApplications);
|
appGridDashboardController.handleShowAppDashboard(success.linagoraApplications);
|
||||||
} else if(success is GetEmailByIdSuccess) {
|
} else if(success is GetEmailByIdSuccess) {
|
||||||
_moveToEmailDetailedView(success);
|
_moveToEmailDetailedView(success);
|
||||||
|
} else if (success is StoreSendingEmailSuccess) {
|
||||||
|
_handleStoreSendingEmailSuccess(success);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1703,12 +1716,41 @@ class MailboxDashBoardController extends ReloadableController {
|
|||||||
EmailRequest emailRequest,
|
EmailRequest emailRequest,
|
||||||
CreateNewMailboxRequest? mailboxRequest
|
CreateNewMailboxRequest? mailboxRequest
|
||||||
) {
|
) {
|
||||||
consumeState(_sendEmailInteractor.execute(
|
if (PlatformInfo.isWeb) {
|
||||||
session,
|
consumeState(_sendEmailInteractor.execute(
|
||||||
accountId,
|
session,
|
||||||
emailRequest,
|
accountId,
|
||||||
mailboxRequest: mailboxRequest
|
emailRequest,
|
||||||
));
|
mailboxRequest: mailboxRequest
|
||||||
|
));
|
||||||
|
} else {
|
||||||
|
if (networkConnectionController.isNetworkConnectionAvailable()) {
|
||||||
|
consumeState(_sendEmailInteractor.execute(
|
||||||
|
session,
|
||||||
|
accountId,
|
||||||
|
emailRequest,
|
||||||
|
mailboxRequest: mailboxRequest
|
||||||
|
));
|
||||||
|
} else {
|
||||||
|
final sendingEmail = emailRequest.toSendingEmail(_uuid.v1(), mailboxRequest: mailboxRequest);
|
||||||
|
_storeSendingEmail(accountId, session.username, sendingEmail);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void _storeSendingEmail(AccountId accountId, UserName userName, SendingEmail sendingEmail) {
|
||||||
|
log('MailboxDashBoardController::_storeSendingEmail():sendingEmail: $sendingEmail');
|
||||||
|
consumeState(_storeSendingEmailInteractor.execute(accountId, userName, sendingEmail));
|
||||||
|
}
|
||||||
|
|
||||||
|
void _handleStoreSendingEmailSuccess(StoreSendingEmailSuccess success) {
|
||||||
|
if (currentOverlayContext != null && currentContext != null) {
|
||||||
|
_appToast.showToastSuccessMessage(
|
||||||
|
currentOverlayContext!,
|
||||||
|
AppLocalizations.of(currentContext!).messageHasBeenSavedToTheSendingQueue,
|
||||||
|
leadingSVGIconColor: Colors.white,
|
||||||
|
leadingSVGIcon: _imagePaths.icEmail);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache
|
|||||||
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
||||||
|
import 'package:tmail_ui_user/features/offline_mode/manager/sending_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/push_notification/data/datasource/fcm_datasource.dart';
|
import 'package:tmail_ui_user/features/push_notification/data/datasource/fcm_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/push_notification/data/datasource_impl/fcm_datasource_impl.dart';
|
import 'package:tmail_ui_user/features/push_notification/data/datasource_impl/fcm_datasource_impl.dart';
|
||||||
import 'package:tmail_ui_user/features/push_notification/data/datasource_impl/cache_fcm_datasource_impl.dart';
|
import 'package:tmail_ui_user/features/push_notification/data/datasource_impl/cache_fcm_datasource_impl.dart';
|
||||||
@@ -108,6 +109,7 @@ class FcmInteractorBindings extends InteractorsBindings {
|
|||||||
Get.find<DetailedEmailCacheWorkerQueue>(),
|
Get.find<DetailedEmailCacheWorkerQueue>(),
|
||||||
Get.find<OpenedEmailCacheWorkerQueue>(),
|
Get.find<OpenedEmailCacheWorkerQueue>(),
|
||||||
Get.find<EmailCacheManager>(),
|
Get.find<EmailCacheManager>(),
|
||||||
|
Get.find<SendingEmailCacheManager>(),
|
||||||
Get.find<FileUtils>(),
|
Get.find<FileUtils>(),
|
||||||
Get.find<CacheExceptionThrower>()));
|
Get.find<CacheExceptionThrower>()));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@@last_modified": "2023-05-05T18:33:11.589556",
|
"@@last_modified": "2023-05-24T15:03:16.377036",
|
||||||
"initializing_data": "Initializing data...",
|
"initializing_data": "Initializing data...",
|
||||||
"@initializing_data": {
|
"@initializing_data": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@@ -2793,5 +2793,11 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"messageHasBeenSavedToTheSendingQueue": "Message has been saved to the sending queue.",
|
||||||
|
"@messageHasBeenSavedToTheSendingQueue": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders_order": [],
|
||||||
|
"placeholders": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -15,6 +15,7 @@ import 'package:tmail_ui_user/features/caching/clients/opened_email_hive_cache_c
|
|||||||
import 'package:tmail_ui_user/features/caching/clients/recent_login_url_cache_client.dart';
|
import 'package:tmail_ui_user/features/caching/clients/recent_login_url_cache_client.dart';
|
||||||
import 'package:tmail_ui_user/features/caching/clients/recent_login_username_cache_client.dart';
|
import 'package:tmail_ui_user/features/caching/clients/recent_login_username_cache_client.dart';
|
||||||
import 'package:tmail_ui_user/features/caching/clients/recent_search_cache_client.dart';
|
import 'package:tmail_ui_user/features/caching/clients/recent_search_cache_client.dart';
|
||||||
|
import 'package:tmail_ui_user/features/caching/clients/sending_email_hive_cache_client.dart';
|
||||||
import 'package:tmail_ui_user/features/caching/clients/state_cache_client.dart';
|
import 'package:tmail_ui_user/features/caching/clients/state_cache_client.dart';
|
||||||
import 'package:tmail_ui_user/features/caching/clients/subscription_cache_client.dart';
|
import 'package:tmail_ui_user/features/caching/clients/subscription_cache_client.dart';
|
||||||
import 'package:tmail_ui_user/features/caching/clients/token_oidc_cache_client.dart';
|
import 'package:tmail_ui_user/features/caching/clients/token_oidc_cache_client.dart';
|
||||||
@@ -33,6 +34,7 @@ import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache
|
|||||||
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/detailed_email_cache_worker_queue.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
import 'package:tmail_ui_user/features/offline_mode/manager/opened_email_cache_worker_queue.dart';
|
||||||
|
import 'package:tmail_ui_user/features/offline_mode/manager/sending_email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/push_notification/data/local/fcm_cache_manager.dart';
|
import 'package:tmail_ui_user/features/push_notification/data/local/fcm_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
import 'package:tmail_ui_user/features/thread/data/local/email_cache_manager.dart';
|
||||||
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
|
import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
|
||||||
@@ -76,6 +78,8 @@ class LocalBindings extends Bindings {
|
|||||||
Get.put(DetailedEmailCacheManager(Get.find<DetailedEmailHiveCacheClient>(), Get.find<FileUtils>()));
|
Get.put(DetailedEmailCacheManager(Get.find<DetailedEmailHiveCacheClient>(), Get.find<FileUtils>()));
|
||||||
Get.put(OpenedEmailHiveCacheClient());
|
Get.put(OpenedEmailHiveCacheClient());
|
||||||
Get.put(OpenedEmailCacheManager(Get.find<OpenedEmailHiveCacheClient>(), Get.find<FileUtils>()));
|
Get.put(OpenedEmailCacheManager(Get.find<OpenedEmailHiveCacheClient>(), Get.find<FileUtils>()));
|
||||||
|
Get.put(SendingEmailHiveCacheClient());
|
||||||
|
Get.put(SendingEmailCacheManager(Get.find<SendingEmailHiveCacheClient>()));
|
||||||
Get.put(CachingManager(
|
Get.put(CachingManager(
|
||||||
Get.find<MailboxCacheClient>(),
|
Get.find<MailboxCacheClient>(),
|
||||||
Get.find<StateCacheClient>(),
|
Get.find<StateCacheClient>(),
|
||||||
|
|||||||
@@ -2869,4 +2869,11 @@ class AppLocalizations {
|
|||||||
'Cannot select this image.',
|
'Cannot select this image.',
|
||||||
name: 'cannotSelectThisImage');
|
name: 'cannotSelectThisImage');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String get messageHasBeenSavedToTheSendingQueue {
|
||||||
|
return Intl.message(
|
||||||
|
'Message has been saved to the sending queue.',
|
||||||
|
name: 'messageHasBeenSavedToTheSendingQueue',
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user