using System; using System.Collections.Generic; namespace Knot.Modules.Conversations.Application.DTOs; public record MessageDetailDto( Guid Id, Guid ChatId, Guid SenderId, string? Content, string Type, Guid? ReplyToId, ReplyToMessageDto? ReplyTo, string? Quote, bool IsEdited, bool IsDeleted, DateTime CreatedAt, long SequenceId, Guid? ForwardedFromId, MessageSenderDto? ForwardedFrom, Guid? StoryId, string? StoryMediaUrl, string? StoryMediaType, List Media, MessageSenderDto? Sender, List ReadBy, List Reactions, string? CallType = null, string? CallStatus = null, int? Duration = null, List? PollOptions = null, bool? PollIsMultipleChoice = null, bool? PollIsAnonymous = null, bool? PollIsClosed = null, List? UserVotedOptionIds = null, bool IsDeletedForUser = false ); public record ReplyToMessageDto( Guid Id, string? Content, bool IsDeleted, List Media, MessageSenderDto? Sender ); public record MessageReactionDto( Guid Id, string Emoji, Guid UserId, MessageSenderDto? User );