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; }
}
}