using Nuuru.Server.DTOs.Booru; namespace Nuuru.Server.DTOs.Messaging { public class ConversationDto { public Guid Id { get; set; } public string? Title { get; set; } /// /// Auto-generated display title if no explicit title set. /// For 1-on-1 conversations, shows the other participant's name. /// For groups, shows first few participant names. /// public string DisplayTitle { get; set; } = string.Empty; public DateTime CreatedAt { get; set; } public DateTime LastMessageAt { get; set; } public int MessageCount { get; set; } public bool IsLocked { get; set; } public int UnreadCount { get; set; } public bool HasUnread { get; set; } public UploaderDto Creator { get; set; } = null!; public List Participants { get; set; } = []; public MessageDto? LastMessage { get; set; } } public class ConversationParticipantDto { public Guid UserId { get; set; } public UploaderDto User { get; set; } = null!; public DateTime JoinedAt { get; set; } public bool HasLeft { get; set; } } }