CommentReport.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Domain.Entities.Forum.Boards;
  2. using Domain.Entities.Forum.Posts;
  3. using Domain.Entities.Members;
  4. using Domain.Entities.Forum.ValueObject;
  5. using System.ComponentModel.DataAnnotations;
  6. using System.ComponentModel.DataAnnotations.Schema;
  7. namespace Domain.Entities.Forum.Comments
  8. {
  9. public class CommentReport
  10. {
  11. [ForeignKey(nameof(BoardID))]
  12. public virtual Board Board { get; set; } = null!;
  13. [ForeignKey(nameof(PostID))]
  14. public virtual Post Post { get; set; } = null!;
  15. [ForeignKey(nameof(CommentID))]
  16. public virtual Comment Comment { get; set; } = null!;
  17. [ForeignKey(nameof(MemberID))]
  18. public virtual Member Member { get; set; } = null!;
  19. [Key]
  20. public int ID { get; set; }
  21. public int BoardID { get; set; }
  22. public int PostID { get; set; }
  23. public int CommentID { get; set; }
  24. public int MemberID { get; set; }
  25. public ReportType Type { get; set; }
  26. public string? Reason { get; set; }
  27. public ReportStatus Status { get; set; } = ReportStatus.Received;
  28. public string? Memo { get; set; }
  29. public string? IpAddress { get; set; }
  30. public string? UserAgent { get; set; }
  31. public DateTime? UpdatedAt { get; set; }
  32. public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
  33. }
  34. }