본문으로 건너뛰기

회원 상태 흐름

상태 정의

별도 enum 없이 deletedAt / anonymizedAt 두 필드의 null 여부로 상태를 판단합니다.

상태조건설명
정상deletedAt == null일반 이용 가능
탈퇴 유예deletedAt != null, anonymizedAt == null탈퇴 신청 후 30일 이내
익명화 완료anonymizedAt != null개인정보 영구 삭제 완료

상태 전이 흐름

회원가입 (카카오 로그인)


┌────정상────┐
│ │
탈퇴 신청 일반 이용


탈퇴 유예 (PENDING_DELETION)
│ │
재로그인 30일 경과
│ (매일 02:00 KST 스케줄러)
▼ │
정상 ▼
익명화 완료
(로그인 불가)

상태별 API 동작

상태로그인JWT status 클레임일반 API
정상없음정상
탈퇴 유예✅ (자동 복구)PENDING_DELETION정상 (복구 후)
익명화 완료401 DELETED_USER불가

탈퇴 유예 상태에서 소셜 재로그인하면 탈퇴가 자동 취소되고 정상 상태로 복구됩니다.


전이 트리거 상세

전이트리거처리 내용
정상 → 탈퇴 유예DELETE /api/users/me 호출deletedAt = 현재 시각 기록
탈퇴 유예 → 정상소셜 재로그인deletedAt = null 초기화
탈퇴 유예 → 익명화 완료스케줄러 (deletedAt 30일 초과 시)email, nickname 더미값으로 교체 후 anonymizedAt 기록