using System; using System.Collections.Generic; using SQLite; using Wino.Core.Domain.Enums; namespace Wino.Core.Domain.Entities { public class MailAccount { [PrimaryKey] public Guid Id { get; set; } /// /// Given name of the account in Wino. /// public string Name { get; set; } /// /// TODO: Display name of the authenticated user/account. /// API integrations will query this value from the API. /// IMAP is populated by user on setup dialog. /// public string SenderName { get; set; } /// /// Account e-mail address. /// public string Address { get; set; } /// /// Provider type of the account. Outlook,Gmail etc... /// public MailProviderType ProviderType { get; set; } /// /// For tracking change delta. /// Gmail : historyId /// Outlook: deltaToken /// public string SynchronizationDeltaIdentifier { get; set; } /// /// TODO: Gets or sets the custom account identifier color in hex. /// public string AccountColorHex { get; set; } /// /// Gets or sets the listing order of the account in the accounts list. /// public int Order { get; set; } /// /// Gets or sets whether the account has any reason for an interactive user action to fix continue operating. /// public AccountAttentionReason AttentionReason { get; set; } /// /// Gets or sets the id of the merged inbox this account belongs to. /// public Guid? MergedInboxId { get; set; } /// /// Contains the merged inbox this account belongs to. /// Ignored for all SQLite operations. /// [Ignore] public MergedInbox MergedInbox { get; set; } /// /// Populated only when account has custom server information. /// [Ignore] public CustomServerInformation ServerInformation { get; set; } /// /// Gets or sets the aliases of the account. /// It's only synchronized for Gmail right now. /// Other provider types are manually added by users and not verified. /// [Ignore] public List Aliases { get; set; } /// /// Account preferences. /// [Ignore] public MailAccountPreferences Preferences { get; set; } } }