Skip to content

feat(moderation): 공유글 신고 및 공유 활동 중지 기능, 피드 조회 시 신고글 필터링 구현#127

Merged
coldsunn merged 3 commits intodevelopfrom
feat/content-report
Mar 13, 2026
Merged

feat(moderation): 공유글 신고 및 공유 활동 중지 기능, 피드 조회 시 신고글 필터링 구현#127
coldsunn merged 3 commits intodevelopfrom
feat/content-report

Conversation

@coldsunn
Copy link
Collaborator

@coldsunn coldsunn commented Mar 13, 2026

📝 요약(Summary)

사용자가 부적절한 공유글을 신고하고, 신고가 누적된 유저의 공유 활동을 중지하는 기능을 구현했습니다.

  1. 공유글 신고 API (POST /api/moderation/reports)

    • 신고 사유: 욕설/혐오, 성적 콘텐츠, 자해, 기타
    • 중복 신고 방지, 자기 신고 방지
  2. 공유 활동 자동 중지

    • 조건: 신고 10건 이상 + 서로 다른 신고자 2명 이상
    • 공유 시작 api 호출 시 차단 체크 → SUSPENDED 응답 반환
  3. 피드 필터링

    • 공유 활동 중지된 친구의 글 제외
    • 내가 신고한 글 제외

🔗 Related Issue

  • Closes:

💬 공유사항

  1. API 응답 변경: POST /api/feed/share
  • Before: 204 No Content
  • After: 200 OK + { "status": "SHARED" | "SUSPENDED" }
  • 이로 인해서 개발 서버에서 친구 차단까지 구현한 후에 프론트엔드와 맞추고 운영 서버에 프론트와 백이 동시에 배포하는 방식으로 진행하면 될 것 같습니다.
  1. API 응답 변경: GET /api/feed
  • 피드 조회할 때 신고할 공유글을 알 수 있도록 기존 FeedResponse에 dailyReportId 필드를 추가하였습니다. POST /api/moderation/reports의 요청에 이를 사용합니다.

✅ PR Checklist

PR이 다음 요구 사항을 충족하는지 확인하세요.

  • PR 제목을 커밋 메시지 컨벤션에 맞게 작성했습니다.

ContentReport 엔티티 및 마이그레이션 추가, 서비스 단에서 신고 로직과 공유 활동 중지 판단 로직 구현, 공유글 신고 API 추가
공유 시작 시 SharingSuspensionService로 차단 여부 확인하고 ShareStartResponse 반환, 기존 204 No content에서 200 ok로
공유되었는지 차단되었는지 여부 반환, 피드에서도 공유 차단된 유저, 신고된 공유글 제외, 신고를 위해 FeedResponse에 dailyReportId 필드 추가
@coldsunn coldsunn changed the title feat(moderation): 공유글 신고 및 공유 활동 중지 기능, 피드 조회 시 공유 차단, 신고글 필터링 구현 feat(moderation): 공유글 신고 및 공유 활동 중지 기능, 피드 조회 시 신고글 필터링 구현 Mar 13, 2026
@1Seob
Copy link
Collaborator

1Seob commented Mar 13, 2026

굳굳!

@coldsunn coldsunn merged commit 4ae1c24 into develop Mar 13, 2026
1 check passed
@coldsunn coldsunn deleted the feat/content-report branch March 13, 2026 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants