using System; using SQLite; namespace Wino.Core.Domain.Entities.Mail; public class RemoteAccountAlias { /// /// Display address of the alias. /// public string AliasAddress { get; set; } /// /// Address to be included in Reply-To header when alias is used for sending messages. /// public string ReplyToAddress { get; set; } /// /// Whether this alias is the primary alias for the account. /// public bool IsPrimary { get; set; } /// /// Whether the alias is verified by the server. /// Only Gmail aliases are verified for now. /// Non-verified alias messages might be rejected by SMTP server. /// public bool IsVerified { get; set; } /// /// Whether this alias is the root alias for the account. /// Root alias means the first alias that was created for the account. /// It can't be deleted or changed. /// public bool IsRootAlias { get; set; } /// /// Optional sender name for the alias. /// Falls back to account's sender name if not set when preparing messages. /// Used for Gmail only. /// public string AliasSenderName { get; set; } } public class MailAccountAlias : RemoteAccountAlias { /// /// Unique Id for the alias. /// [PrimaryKey] public Guid Id { get; set; } /// /// Account id that this alias is attached to. /// public Guid AccountId { get; set; } /// /// Root aliases can't be deleted. /// public bool CanDelete => !IsRootAlias; }