Skip to content

release: 관리자 이의제기 내역 API + 이의 접수 당시 실패 설명 저장(#369) - #370

Merged
selee1012 merged 3 commits into
mainfrom
dev
Oct 29, 2026
Merged

selee1012 merged 3 commits into
mainfrom
dev

Conversation

@selee1012

Copy link
Copy Markdown
Contributor

포함

DB 마이그레이션

  • V21 verification_appeals 컬럼 4개 + (acceptedAt, id) 인덱스 — ALGORITHM=INPLACE, LOCK=NONE. stg 적용 0.32초.
  • V21 이전 접수는 실패 설명이 null(콘솔은 「기록 없음」으로 표시).

확인

  • stg(188d477) 배포·기동 확인, flyway v21 적용, 배포 후 ERROR 0건.
  • 관리자 DB 계정 권한 변경 없음(이미 있는 SELECT 만 사용).

🤖 Generated with Claude Code

selee1012 and others added 3 commits October 29, 2026 10:44
이의는 확정 전에 받고 즉시 인용돼 판정 행의 failureReason 이 지워진다.
verification_failure_details 는 확정된 실패에만 생겨 인용된 이의에는 행이 없다.
운영자가 「무엇에 이의를 냈는지」 볼 원천이 없어, 신청 화면과 같은 설명(사유 코드·요약·기준값·실제값)을
V21 컬럼에 적어 둔다. 오늘 인증 카드와 같은 계산을 쓰도록 FailureExplainer 로 뺐다.
관리자 목록용 acceptedAt 인덱스도 함께 둔다. Refs #361

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
GET /api/v1/admin/appeals — 최신순, 접수일(KST)·회원·방·사진 여부 필터, (시각, id) 커서.
GET /api/v1/admin/appeals/{id} — 사유 전문, 증빙 사진(단기 주소), 접수 당시 실패 설명, 최근 30일 이의 수.
목록은 APPEAL_QUEUE_VIEW, 상세는 개인정보 열람이라 APPEAL_VIEW 로 감사 로그에 남긴다.
관리자 DB 계정이 이미 가진 SELECT(verification_appeals·users·challenges)만 쓴다. Closes #361

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat(admin): 이의제기 내역 목록·상세 API + 접수 당시 실패 설명 저장(V21)
@github-actions

Copy link
Copy Markdown

Test Coverage

Overall Project 83.6% -0.06% 🍏
Files changed 94.56% 🍏

File Coverage
AdminAppealDtos.java 100% 🍏
AdminAction.java 100% 🍏
AdminAuditLog.java 100% 🍏
ErrorCode.java 100% 🍏
Appeal.java 100% 🍏
AdminAppealService.java 98.09% -1.91% 🍏
AppealService.java 92.31% -1.48% 🍏
AdminController.java 90.36% 🍏
VerificationReadService.java 85.17% 🍏
FailureExplainer.java 70.64% -29.36% ❌
AdminCursors.java 56.71% -6.71% 🍏

@selee1012
selee1012 merged commit 378f70c into main Oct 29, 2026
8 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