FeedPost.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using Domain.Entities.Members;
  2. using System.ComponentModel.DataAnnotations;
  3. using System.ComponentModel.DataAnnotations.Schema;
  4. namespace Domain.Entities.Feed;
  5. public class FeedPost
  6. {
  7. [ForeignKey(nameof(MemberID))]
  8. public virtual Member Member { get; set; } = null!;
  9. // 댓글
  10. public virtual List<FeedComment> FeedComment { get; set; } = [];
  11. // 이미지
  12. public virtual List<FeedPostImage> FeedPostImage { get; set; } = [];
  13. // 미디어 (영상/오디오 URL)
  14. public virtual List<FeedPostMedia> FeedPostMedia { get; set; } = [];
  15. // 태그
  16. public virtual List<FeedPostTag> FeedPostTag { get; set; } = [];
  17. // 멘션
  18. public virtual List<FeedPostMention> FeedPostMention { get; set; } = [];
  19. // 좋아요
  20. public virtual List<FeedLike> FeedLike { get; set; } = [];
  21. // 북마크
  22. public virtual List<FeedBookmark> FeedBookmark { get; set; } = [];
  23. [Key]
  24. public int ID { get; set; }
  25. public int MemberID { get; set; }
  26. public string Content { get; set; } = default!;
  27. public string? Thumbnail { get; set; }
  28. public byte Images { get; set; } = 0;
  29. public byte Medias { get; set; } = 0;
  30. public byte Tags { get; set; } = 0;
  31. public int Likes { get; set; } = 0;
  32. public int Comments { get; set; } = 0;
  33. public int Bookmarks { get; set; } = 0;
  34. public int Views { get; set; } = 0;
  35. public int Reports { get; set; } = 0;
  36. public bool IsDeleted { get; set; } = false;
  37. public string? IpAddress { get; set; }
  38. public string? UserAgent { get; set; }
  39. public DateTime? DeletedAt { get; set; }
  40. public DateTime? UpdatedAt { get; set; }
  41. public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
  42. }