Skip to content

feat: 공식 인증 재요청 상태 및 횟수 관리 추가 - #137

Merged
yhaeul merged 1 commit into
developfrom
feat/club-official-verification-server
Aug 10, 2026
Merged

yhaeul merged 1 commit into
developfrom
feat/club-official-verification-server

Conversation

@yhaeul

@yhaeul yhaeul commented Aug 10, 2026

Copy link
Copy Markdown
Collaborator

작업 내용

  • 공식 인증 요청에 동아리별 시도 번호(attempt_no)를 추가했습니다.
    • 기존 요청은 동아리별 생성 순서에 따라 번호를 부여합니다.
    • (club_id, attempt_no) 유니크 제약조건을 추가합니다.
    • 최신 요청 조회를 위한 인덱스를 추가합니다.
  • 공식 인증 요청 및 재요청 횟수를 제한했습니다.
    • 최초 요청 1회와 재요청 최대 3회를 허용합니다.
    • 심사 중인 요청이 있으면 중복 요청을 차단합니다.
    • 요청 생성 과정을 트랜잭션과 비관적 락으로 보호합니다.
  • 동아리 관리 상세 API에 공식 인증 상태 정보를 추가했습니다.
    • VERIFIED
    • PENDING
    • REJECTED
    • UNVERIFIED
  • 관리 상세 응답에 다음 정보를 추가했습니다.
    • 요청 ID
    • 현재 시도 번호
    • 사용한 재요청 횟수
    • 최대 재요청 횟수
    • 남은 재요청 횟수
    • 반려 사유
    • 요청 일시
  • 공식 인증 요청 API 응답에도 시도 및 재요청 횟수 정보를 추가했습니다.
  • 인증 요청 없이 관리자가 바로 공식 인증을 승인한 경우에도 isOfficialVerified를 우선해 VERIFIED로 응답합니다.
  • OpenAPI 스키마와 문서를 변경된 응답 계약에 맞게 수정했습니다.

변경 이유

  • 모바일에서 공식 인증의 심사 중, 인증 완료, 인증 반려 상태를 정확하게 표시하기 위해 관리 상세 API에 상태 정보가 필요합니다.
  • 반려된 동아리가 정해진 횟수 안에서 재요청할 수 있도록 요청 이력별 시도 번호와 남은 횟수 관리가 필요합니다.
  • 동시에 요청이 발생해 시도 번호가 중복되거나 제한 횟수를 초과하는 상황을 방지하기 위해 요청 생성을 트랜잭션으로 처리했습니다.

테스트한 내용

  • Biome 검사 통과
  • TypeScript 타입 검사 통과
  • 전체 테스트 통과
    • Test Suites: 11 passed
    • Tests: 64 passed
  • 기존 요청 데이터에 동아리별 attempt_no가 순서대로 부여되는 SQL을 확인했습니다.
  • 동아리별 시도 번호가 독립적으로 계산되는 것을 확인했습니다.
  • 심사 중 요청의 중복 생성 및 최대 재요청 횟수 초과가 차단되는 로직을 확인했습니다.

스크린샷 (선택)

체크

  • 정상 동작 확인
  • UI 변경 없음
  • 콘솔 에러 없음

@yhaeul
yhaeul merged commit 55d17e1 into develop Aug 10, 2026
4 checks 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