카테고리 없음

DB에서 계정 정지 해제 하는 법

G로건 2025. 4. 23. 01:32
반응형

 프론트엔드 적용 요약

  • 내 메시지에는 신고/차단 버튼 숨김
    (
    msg.sender._id !== session.user.id
    )
  • 차단한 사용자의 메시지 리스트에서 자동 필터링
  • 신고 버튼: 신고 사유 프롬프트, 
    /api/report
     호출, 성공 시 안내
  • 차단 버튼: 확인 후 
    /api/block
     호출, 성공 시 안내 및 즉시 리스트에서 숨김

2. 백엔드 적용 요약

  • User 모델: 
    isBanned
    , 
    blockedUsers
     필드
  • Report 모델: 신고 내역 저장
  • /api/report:
    • 동일 메시지 중복 신고 불가
    • 유저 단위 누적 10회 이상 자동 정지
  • /api/block: 차단목록 추가
  • /api/user/me: 내 차단목록 반환 (프론트 필터링용)
  • 메시지 전송: 차단된 유저가 메시지 보내면 거부

3. 로그인 시 계정정지 안내

  • 추후 NextAuth 콜백(로그인/세션 생성)에서
    isBanned
    가 true면
    "계정이 정지되었습니다. 자세한 사항은 관리자에게 연락바랍니다."
    메시지로 로그인 거부 처리 필요
    (이 부분도 바로 추가 가능!)

4. 복구/운영

  • 운영자는 DB에서 
    isBanned: false
    로 변경하면 즉시 복구 가능
반응형