using Nuuru.Server.Models; namespace Nuuru.Server.DTOs.Moderation { public class ReportDto { public Guid Id { get; set; } public string TargetType { get; set; } = string.Empty; public string TargetId { get; set; } = string.Empty; public string Reason { get; set; } = string.Empty; public string Status { get; set; } = string.Empty; public DateTime CreatedAt { get; set; } public DateTime? ResolvedAt { get; set; } public string? ResolutionNote { get; set; } public UserDto? Reporter { get; set; } public ModeratorDto? Moderator { get; set; } public ReportTargetPreviewDto? TargetPreview { get; set; } } public class ReportTargetPreviewDto { public string? ThumbnailUrl { get; set; } public string? UserName { get; set; } public string? Excerpt { get; set; } public string? Title { get; set; } // Navigation fields for building links public int? PostId { get; set; } // Parent post ID for comments public int? ThreadId { get; set; } // Thread ID for forum posts public string? CategorySlug { get; set; } // Category slug for forum posts public int? Page { get; set; } // Page number for forum posts public string? ConversationId { get; set; } // Conversation ID for messages } }