Implement mail and calendar item synchronizer state (#815)

* Track pending sync operations per mail/calendar item

* Updated progressbar for in progress drafts
This commit is contained in:
Burak Kaan Köse
2026-02-21 10:53:39 +01:00
committed by GitHub
parent a912ada890
commit 7f198bad92
5 changed files with 126 additions and 20 deletions
@@ -1,4 +1,5 @@
using System.Threading.Tasks;
using System;
using System.Threading.Tasks;
using Wino.Core.Domain.Entities.Shared;
using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.Accounts;
@@ -23,6 +24,18 @@ public interface IBaseSynchronizer
/// <param name="request">Request to queue.</param>
void QueueRequest(IRequestBase request);
/// <summary>
/// Returns whether there is an in-progress (queued or currently executing) operation for the given mail unique id.
/// </summary>
/// <param name="mailUniqueId">Mail unique id to check.</param>
bool HasPendingOperation(Guid mailUniqueId);
/// <summary>
/// Returns whether there is an in-progress (queued or currently executing) operation for the given calendar item id.
/// </summary>
/// <param name="calendarItemId">Calendar item id to check.</param>
bool HasPendingCalendarOperation(Guid calendarItemId);
/// <summary>
/// Synchronizes profile information with the server.
/// Sender name and Profile picture are updated.