Implement a reporting/moderation system that allows authenticated users to report posts or user profiles.
Create Report entity/model
Prevent duplicate reports from the same user
Add soft-hide flags:
BlogPost.IsHidden
ApplicationUser.IsHiddenProfile
Auto-hide posts/profiles after unresolved reports reach threshold (default: 5)
Exclude hidden posts from published feed
Add:
POST /Blog/ReportPost
POST /Blog/ReportUser
Show reported users + report counts in Admin Dashboard
Add admin review/resolve flow for reports
Add basic rate limiting for report abuse
Add tests for:
duplicate prevention
auto-hide behavior
hidden feed filtering
admin resolution
Create EF Core migration after implementation
Notes
Reports should remain persisted for moderation/audit history
Only one target should be used per report (TargetPostId or TargetUserId)
Implement a reporting/moderation system that allows authenticated users to report posts or user profiles.
Create Report entity/model
Prevent duplicate reports from the same user
Add soft-hide flags:
BlogPost.IsHidden
ApplicationUser.IsHiddenProfile
Auto-hide posts/profiles after unresolved reports reach threshold (default: 5)
Exclude hidden posts from published feed
Add:
POST /Blog/ReportPost
POST /Blog/ReportUser
Show reported users + report counts in Admin Dashboard
Add admin review/resolve flow for reports
Add basic rate limiting for report abuse
Add tests for:
duplicate prevention
auto-hide behavior
hidden feed filtering
admin resolution
Create EF Core migration after implementation
Notes
Reports should remain persisted for moderation/audit history
Only one target should be used per report (TargetPostId or TargetUserId)