using System; using System.Collections.Generic; using Wino.Core.Domain.Enums; namespace Wino.Core.Domain.Models.Synchronization; public class MailSynchronizationOptions { /// /// Unique id of synchronization. /// public Guid Id { get; set; } = Guid.NewGuid(); /// /// Account to execute synchronization for. /// public Guid AccountId { get; set; } /// /// Type of the synchronization to be performed. /// public MailSynchronizationType Type { get; set; } /// /// Collection of FolderId to perform SynchronizationType.Custom type sync. /// public List SynchronizationFolderIds { get; set; } /// /// If true, additional folders like Sent,Drafts and Deleted will not be synchronized /// with InboxOnly and CustomFolders sync type. /// public bool ExcludeMustHaveFolders { get; set; } /// /// When doing a linked inbox synchronization, we must ignore reporting completion to the caller for each folder. /// This Id will help tracking that. Id is unique, but this one can be the same for all sync requests /// inside the same linked inbox sync. /// public Guid? GroupedSynchronizationTrackingId { get; set; } public override string ToString() => $"Type: {Type}"; }