PostReport.cs 1.0 KB

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