Skip to content

✨ 사용자 단위 익명 닉네임 토글 API 추가 - #39

Merged
s26059-maker merged 1 commit into
developfrom
feat/anonymous-nickname
Sep 14, 2026
Merged

s26059-maker merged 1 commit into
developfrom
feat/anonymous-nickname

Conversation

@s26059-maker

Copy link
Copy Markdown
Contributor

문제

NicknameGenerator가 포트·구현체·빈 등록까지 돼 있으나
백엔드에서 호출하는 곳이 없는 죽은 포트 상태였음.

변경

  • V12 마이그레이션: user에 anonymous_nickname(UNIQUE), is_anonymous 추가
  • PATCH /api/v1/users/me/anonymous 토글 API
    • on: 닉네임 없으면 생성, 있으면 재사용 (재생성 안 함)
    • off: is_anonymous만 내리고 닉네임 보존
  • 중복 시 최대 5회 재생성, 소진 시 NicknameGenerationFailedException(503)
  • 랭킹 응답이 익명 여부에 따라 실명/익명 닉네임 분기

설계 근거

  • 회원가입 경로에는 붙이지 않음 — AI 의존성이 신규 가입을 막게 됨
  • 닉네임 고정(재생성 안 함) — 매번 바뀌면 랭킹에서 동일인 추적 불가
  • 랭킹은 조회 시점 값 사용 — ranking_snapshot이 user_id만 갖고 있어
    기존 getName()도 이미 같은 방식

확인 필요

@지우 SubmissionRequest에 isAnonymous 필드가 이미 있는데 현재 버려지고 있어.
제출 단위 익명이 따로 계획된 거면 이번 사용자 단위 토글과 충돌해서 확인 부탁.

@서하 NicknameService가 OpenAI 실패 시 내장 예시로 폴백하고 있어서
"AI 실패 → 503" 경로가 real 구현체에서는 발동하지 않아.
폴백이 의도한 설계면 그대로 두고, 아니면 알려줘.

@s26059-maker
s26059-maker merged commit d5684ea into develop Sep 14, 2026
1 check passed
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.

1 participant