namespace QMax.Api.Data.Entities; public sealed class Message { public Guid Id { get; set; } = Guid.NewGuid(); public Guid ChatId { get; set; } public Chat? Chat { get; set; } public string? ExternalId { get; set; } public string? SenderExternalId { get; set; } public string? SenderName { get; set; } public MessageDirection Direction { get; set; } public string? Text { get; set; } public DateTimeOffset SentAt { get; set; } = DateTimeOffset.UtcNow; public DateTimeOffset? EditedAt { get; set; } public DateTimeOffset? DeletedAt { get; set; } public Guid? ReplyToMessageId { get; set; } public string? ForwardedFrom { get; set; } public MessageDeliveryState DeliveryState { get; set; } = MessageDeliveryState.Sent; public string? Error { get; set; } public string? MediaAlbumId { get; set; } public ICollection Attachments { get; set; } = new List(); public ICollection Reactions { get; set; } = new List(); }