using InboxIntel.Domain.Enums; namespace InboxIntel.Application.DTOs; public record EmailSummaryDto( Guid Id, string GmailMessageId, string? Subject, string? Snippet, string SenderAddress, string? SenderDisplayName, DateTimeOffset SentAtUtc, bool IsUnread, bool IsStarred, bool HasAttachments, long SizeEstimateBytes, EmailCategory Category, bool HasListUnsubscribe, bool SupportsOneClick); /// Full single-email view, including body text, for the detail pane. public record EmailDetailDto( Guid Id, string GmailMessageId, string? Subject, string? Snippet, string? BodyText, string SenderAddress, string? SenderDisplayName, DateTimeOffset SentAtUtc, bool IsUnread, bool IsStarred, bool HasAttachments, long SizeEstimateBytes, EmailCategory Category, bool HasListUnsubscribe, bool SupportsOneClick); public record SenderStatDto( Guid SenderId, string Address, string? DisplayName, string Domain, int EmailCount, int UnreadCount, long TotalSizeBytes, bool HasUnsubscribe, DateTimeOffset? LastReceivedUtc); public record AttachmentDto( Guid Id, string FileName, string? MimeType, long SizeBytes);