IDLE implementation, imap synchronization strategies basics and condstore synchronization.

This commit is contained in:
Burak Kaan Köse
2025-01-19 20:35:41 +01:00
parent 46cbf443cf
commit e0f87f1374
38 changed files with 980 additions and 563 deletions

View File

@@ -21,6 +21,7 @@ namespace Wino.Core.Requests.Mail
public record ArchiveRequest(bool IsArchiving, MailCopy Item, MailItemFolder FromFolder, MailItemFolder ToFolder = null)
: MailRequestBase(Item), ICustomFolderSynchronizationRequest
{
public bool ExcludeMustHaveFolders => false;
public List<Guid> SynchronizationFolderIds
{
get

View File

@@ -14,6 +14,8 @@ namespace Wino.Core.Requests.Mail
{
public List<Guid> SynchronizationFolderIds => [Item.FolderId];
public bool ExcludeMustHaveFolders => true;
public override MailSynchronizerOperation Operation => MailSynchronizerOperation.ChangeFlag;
public override void ApplyUIChanges()

View File

@@ -13,6 +13,8 @@ namespace Wino.Core.Requests.Mail
: MailRequestBase(DraftPreperationRequest.CreatedLocalDraftCopy),
ICustomFolderSynchronizationRequest
{
public bool ExcludeMustHaveFolders => false;
public List<Guid> SynchronizationFolderIds =>
[
DraftPreperationRequest.CreatedLocalDraftCopy.AssignedFolder.Id

View File

@@ -17,7 +17,7 @@ namespace Wino.Core.Requests.Mail
ICustomFolderSynchronizationRequest
{
public List<Guid> SynchronizationFolderIds => [Item.FolderId];
public bool ExcludeMustHaveFolders => false;
public override MailSynchronizerOperation Operation => MailSynchronizerOperation.Delete;
public override void ApplyUIChanges()

View File

@@ -15,6 +15,8 @@ namespace Wino.Core.Requests.Mail
public override MailSynchronizerOperation Operation => MailSynchronizerOperation.MarkRead;
public bool ExcludeMustHaveFolders => true;
public override void ApplyUIChanges()
{
Item.IsRead = IsRead;

View File

@@ -13,7 +13,7 @@ namespace Wino.Core.Requests.Mail
: MailRequestBase(Item), ICustomFolderSynchronizationRequest
{
public List<Guid> SynchronizationFolderIds => new() { FromFolder.Id, ToFolder.Id };
public bool ExcludeMustHaveFolders => false;
public override MailSynchronizerOperation Operation => MailSynchronizerOperation.Move;
public override void ApplyUIChanges()

View File

@@ -28,6 +28,8 @@ namespace Wino.Core.Requests.Mail
}
}
public bool ExcludeMustHaveFolders => false;
public override MailSynchronizerOperation Operation => MailSynchronizerOperation.Send;
public override void ApplyUIChanges()