44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Wino.Core.Domain.Enums;
|
|
|
|
namespace Wino.Core.Domain.Models.Synchronization;
|
|
|
|
public class MailSynchronizationOptions
|
|
{
|
|
/// <summary>
|
|
/// Unique id of synchronization.
|
|
/// </summary>
|
|
public Guid Id { get; set; } = Guid.NewGuid();
|
|
|
|
/// <summary>
|
|
/// Account to execute synchronization for.
|
|
/// </summary>
|
|
public Guid AccountId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Type of the synchronization to be performed.
|
|
/// </summary>
|
|
public MailSynchronizationType Type { get; set; }
|
|
|
|
/// <summary>
|
|
/// Collection of FolderId to perform SynchronizationType.Custom type sync.
|
|
/// </summary>
|
|
public List<Guid> SynchronizationFolderIds { get; set; }
|
|
|
|
/// <summary>
|
|
/// If true, additional folders like Sent,Drafts and Deleted will not be synchronized
|
|
/// with InboxOnly and CustomFolders sync type.
|
|
/// </summary>
|
|
public bool ExcludeMustHaveFolders { get; set; }
|
|
|
|
/// <summary>
|
|
/// 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.
|
|
/// </summary>
|
|
public Guid? GroupedSynchronizationTrackingId { get; set; }
|
|
|
|
public override string ToString() => $"Type: {Type}";
|
|
}
|