Use TupleKey(ObjectKey-AccountId-UserName) to store data to hive

(cherry picked from commit e0ace535d5f3af71eb13598d92524caf2c6d9bbf)
This commit is contained in:
dab246
2023-04-27 11:03:39 +07:00
committed by Dat Vu
parent 7d0a5729b2
commit 876cc368b0
107 changed files with 562 additions and 340 deletions
@@ -38,7 +38,7 @@ abstract class MailboxRepository {
Future<bool> moveMailbox(Session session, AccountId accountId, MoveMailboxRequest request);
Future<State?> getMailboxState(AccountId accountId);
Future<State?> getMailboxState(Session session, AccountId accountId);
Future<bool> subscribeMailbox(Session session, AccountId accountId, SubscribeMailboxRequest request);
@@ -19,7 +19,7 @@ class CreateNewMailboxInteractor {
try {
yield Right<Failure, Success>(LoadingCreateNewMailbox());
final currentMailboxState = await _mailboxRepository.getMailboxState(accountId);
final currentMailboxState = await _mailboxRepository.getMailboxState(session, accountId);
final newMailbox = await _mailboxRepository.createNewMailbox(session, accountId, newMailboxRequest);
if (newMailbox != null) {
yield Right<Failure, Success>(CreateNewMailboxSuccess(
@@ -22,7 +22,7 @@ class DeleteMultipleMailboxInteractor {
try {
yield Right<Failure, Success>(LoadingDeleteMultipleMailboxAll());
final currentMailboxState = await _mailboxRepository.getMailboxState(accountId);
final currentMailboxState = await _mailboxRepository.getMailboxState(session, accountId);
final listResult = await Future.wait(
mapMailboxIdToDelete.keys.map((mailboxId) {
@@ -28,8 +28,8 @@ class MarkAsMailboxReadInteractor {
onProgressController.add(Right(MarkAsMailboxReadLoading()));
final listState = await Future.wait([
_mailboxRepository.getMailboxState(accountId),
_emailRepository.getEmailState(accountId),
_mailboxRepository.getMailboxState(session, accountId),
_emailRepository.getEmailState(session, accountId),
], eagerError: true);
final currentMailboxState = listState.first;
@@ -15,7 +15,7 @@ class MoveMailboxInteractor {
try {
yield Right<Failure, Success>(LoadingMoveMailbox());
final currentMailboxState = await _mailboxRepository.getMailboxState(accountId);
final currentMailboxState = await _mailboxRepository.getMailboxState(session, accountId);
final result = await _mailboxRepository.moveMailbox(session, accountId, request);
if (result) {
yield Right<Failure, Success>(MoveMailboxSuccess(
@@ -15,7 +15,7 @@ class RenameMailboxInteractor {
try {
yield Right<Failure, Success>(LoadingRenameMailbox());
final currentMailboxState = await _mailboxRepository.getMailboxState(accountId);
final currentMailboxState = await _mailboxRepository.getMailboxState(session, accountId);
final result = await _mailboxRepository.renameMailbox(session, accountId, request);
if (result) {
@@ -16,7 +16,7 @@ class SubscribeMailboxInteractor {
try {
yield Right<Failure, Success>(LoadingSubscribeMailbox());
final currentMailboxState = await _mailboxRepository.getMailboxState(accountId);
final currentMailboxState = await _mailboxRepository.getMailboxState(session, accountId);
final result = await _mailboxRepository.subscribeMailbox(session, accountId, request);
@@ -20,7 +20,7 @@ class SubscribeMultipleMailboxInteractor {
try {
yield Right<Failure, Success>(LoadingSubscribeMultipleMailbox());
final currentMailboxState = await _mailboxRepository.getMailboxState(accountId);
final currentMailboxState = await _mailboxRepository.getMailboxState(session, accountId);
final listResult = await _mailboxRepository.subscribeMultipleMailbox(session, accountId, subscribeRequest);
final matchedSize = listResult.length == subscribeRequest.mailboxIdsSubscribe.length;