namespace Application.Features.Api.Forum.Comment.List;

public sealed record Response(int Total, int TotalRoots, List<Response.CommentItem> List)
{
    public sealed record WriterDto(int ID, string SID, string? Name, string? Thumbnail, string? Icon, string? GradeImage, DateTime CreatedAt);
    public sealed record MentionDto(int ID, string RawHandle);
    public sealed record CommentItem(
        int ID,
        int PostID,
        int MemberID,
        int? ParentID,
        WriterDto Writer,
        MentionDto? Mention,
        string Content,
        bool IsReply,
        bool IsSecret,
        int Likes,
        int Dislikes,
        int Reports,
        int Replies,
        bool HasLike,
        bool HasDislike,
        bool HasReport,
        DateTime CreatedAt,
        List<CommentItem> Children
    );
}
