Uh oh!
There was an error while loading. Please reload this page.
시험 상태 표시 및 자동 종료 로그/데이터 보관 스케줄러 개선 - #82
Merged
Merged
Conversation
ydking0911
approved these changes
Jun 6, 2026
chanwook01
commented
Jun 6, 2026
CollaboratorAuthor
변경 diff 기준으로 자동 종료 스케줄러, 데이터 보관 삭제 대상, 로그 기록, 테스트 범위까지 확인했습니다. WAITING/RUNNING 데이터 삭제 위험이나 기존 UseCase 우회는 없어 보여 develop으로 머지 진행하겠습니다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
변경 내용
관리자 참가자 목록의 WAITING 시험 상태 표시 수정
응시중이 아니라대기중 / 미제출로 표시되도록 개선ExamParticipantDisplayStatusResolver우선순위 정리sessionEnded → WAITING → SUBMITTED → IN_EXAM흐름 반영관리자 본인 계정 삭제 시 마스터 활동 로그 기록 추가
DeleteOwnAdminAccountUseCase에서 기존logAdminAccountDeleted(null, targetAdminId, targetDisplayName)재사용master_id = null,target_admin_id = 삭제 대상 본인으로 기록시험 자동 종료 스케줄러 추가
ExamAutoEndScheduler추가RUNNING && endsAt <= now시험을 1초 주기로 조회 후EndExamUseCase재사용시험 실제 시작/종료 시각 반영
Exam.start()에서 실제 시작 시각으로startsAt갱신Exam.end()에서 실제 종료 시각으로endsAt갱신Master 전역 설정 데이터 보관 자동 삭제 기능 추가
DataRetentionScheduler추가PurgeExpiredPlatformDataUseCase추가autoDeleteExpiredData=true일 때 보관 기간이 지난 로그/제출 산출물/AI 산출물을 주기적으로 삭제autoDeleteExpiredData=false이면 삭제 스킵exams,exam_participants,users,admins,problems,platform_settings등 핵심 메타 데이터는 삭제하지 않음검증
BE 전체 테스트 통과
.\gradlew.bat test --no-daemon수동 검증
대기중 / 미제출로 표시되는 것 확인응시중 / 미제출로 표시되는 것 확인