Skip to content

Conversation

@MEOHIN
Copy link
Collaborator

@MEOHIN MEOHIN commented Sep 26, 2025

📢 기능 설명

회원 탈퇴 기능을 soft delete로 구현했습니다.

이메일·OAuth ID를 지워도 soft delete가 의미있는 이유: soft delete의 본질은 “행과 참조를 보존”하는 데 있습니다.

  • 무결성 유지: 게시글/댓글/좋아요 FK가 깨지지 않습니다(행 보존).
  • 이력/감사: 생성/수정/삭제 시각, 운영 로그, 제재 이력 등을 유지.
  • 콘텐츠/통계: 작성한 게시글은 남기되 작성자 표시는 “탈퇴한 사용자”로 익명화 가능.
  • 법적 대응: 분쟁·신고 처리에 필요한 최소 메타데이터를 유지(개인식별정보 제외).

연결된 issue

close #146



🩷 Approve 하기 전 확인해주세요!

  • UserStatus: 사용자 상태에 ACTIVE, DELETED 상태 추가
  • User
    • 사용자 상태(status), 탈퇴일(deletedAt)필드 추가
    • 회원 탈퇴 처리 메서드 추가; 탈퇴시 이메일, OAuth ID 등 개인정보 삭제
  • RefreshTokenService: 사용자 전체 리프레시 토큰 폐기 기능 추가
  • UserService: 회원 탈퇴 로직 구현; soft delete(비활성화)
    • 사용자의 상태를 DELETED로 변경하고 개인정보 익명화 처리
    • 모든 세션(리프레시 토큰)을 폐기하여 로그아웃 처리
    • 탈퇴 시 예외 처리 로직 추가
  • UserAccountController: 회원 계정 비활성화 API 구현

✅ 체크리스트

  • PR 제목 규칙 잘 지켰는가?
  • 추가/수정사항을 설명하였는가?
  • 이슈넘버를 적었는가?
  • Approve 하기 전 확인 사항 체크했는가?

- `status`와 `deletedAt` 필드 추가
- `UserStatus` 열거형을 이용해 사용자 상태 관리
- `markDeleted` 메서드를 통해 회원 탈퇴 처리
- 탈퇴 시 이메일, OAuth ID 등 개인정보 삭제
- `UserService`에 `deactivateAccount` 메서드 추가
- 사용자의 상태를 `DELETED`로 변경하고 개인정보 익명화 처리
- 모든 세션(리프레시 토큰)을 폐기하여 로그아웃 처리
- 탈퇴 시 예외 처리 로직 추가
- DELETE /me/account 엔드포인트를 통해 계정 탈퇴 기능 제공
- UserService의 deactivateAccount 메서드 호출로 사용자 상태 변경 및 개인정보 익명화 처리
- 탈퇴 후 현재 세션 및 리프레시 토큰을 정리하는 로그아웃 로직 추가
@github-actions github-actions bot added the feat 새로운 기능 추가 label Sep 26, 2025
@MEOHIN MEOHIN merged commit 3543619 into dev Sep 26, 2025
1 check passed
@MEOHIN MEOHIN deleted the feat#146 branch September 26, 2025 03:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[feat] 회원 탈퇴 구현

3 participants