TF-2564 Change logic empty folder (Spam/Trash) to avoid cache still has data

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2024-02-07 01:24:15 +07:00
committed by Dat PHAM HOANG
parent 1c7ecc0a50
commit 1bf7ee4f20
6 changed files with 44 additions and 59 deletions
@@ -309,14 +309,17 @@ class ThreadRepositoryImpl extends ThreadRepository {
@override
Future<List<EmailId>> emptyTrashFolder(Session session, AccountId accountId, MailboxId trashMailboxId) async {
return mapDataSource[DataSourceType.network]!.emptyMailboxFolder(
final listEmailIdDeleted = await mapDataSource[DataSourceType.network]!.emptyMailboxFolder(
session,
accountId,
trashMailboxId,
(listEmailIdDeleted) async {
await _updateEmailCache(accountId, session.username, newDestroyed: listEmailIdDeleted);
},
);
trashMailboxId);
await _updateEmailCache(
accountId,
session.username,
newDestroyed: listEmailIdDeleted);
return listEmailIdDeleted;
}
Future<void> _synchronizeCacheWithChanges(
@@ -388,18 +391,17 @@ class ThreadRepositoryImpl extends ThreadRepository {
}
@override
Future<List<EmailId>> emptySpamFolder(Session session, AccountId accountId, MailboxId spamMailboxId) {
return mapDataSource[DataSourceType.network]!.emptyMailboxFolder(
Future<List<EmailId>> emptySpamFolder(Session session, AccountId accountId, MailboxId spamMailboxId) async {
final listEmailIdDeleted = await mapDataSource[DataSourceType.network]!.emptyMailboxFolder(
session,
accountId,
spamMailboxId,
(listEmailIdDeleted) async {
await _updateEmailCache(
accountId,
session.username,
newDestroyed: listEmailIdDeleted
);
},
);
spamMailboxId);
await _updateEmailCache(
accountId,
session.username,
newDestroyed: listEmailIdDeleted);
return listEmailIdDeleted;
}
}