Merged
Conversation
- `CourseRole`에 `LEAD_MANAGER` 역할 추가 - `SystemRole`에 `SUPERVISOR`, `OPERATOR`, `REGISTRAR`, `AUDITOR` 역할 추가
- `StatusCorrected` 이벤트 클래스 추가 - `AttendanceEvent`에 `StatusCorrected`, `CorrectionRequested`, `CorrectionRejected` 이벤트 추가 - `CorrectionRequested`, `CorrectionRejected` 이벤트 클래스 추가 및 관련 메서드 구현
- 출석 상태 수정 요청 메서드 추가 (`requestCorrection`) - 수정 요청 승인 및 상태 변경 메서드 추가 (`approveCorrection`) - 수정 요청 거절 메서드 추가 (`rejectCorrection`) - 대기 중인 요청 검증 로직 구현 및 관련 예외 추가 - `AttendanceProblemCode`에 새로운 에러 코드 추가
- 출석 상태 수정 요청 메서드 추가 (`request`) - 수정 요청 승인 메서드 추가 (`approve`) - 수정 요청 거절 메서드 추가 (`reject`) - 필수 필드 검증 로직 구현 및 관련 예외 추가 - `AttendanceProblemCode`에 새로운 에러 코드 추가 (`DAL403`, `DAL404`)
- 출석 상태 수정 요청 API 추가 (`requestCorrection`) - 수정 요청 승인 API 추가 (`approveCorrection`) - 수정 요청 거절 API 추가 (`rejectCorrection`) - 서비스 계층 구현 및 출석 기록 조회/예외 처리 로직 추가 - `AttendanceProblemCode`에 새로운 에러 코드 추가 (`DAL005`, `DAL500`) - 입력값 검증 로직 추가 및 관련 예외 처리 - Controller에서 요청 및 응답 처리 로직 구현
- GitHub Actions 워크플로우에서 Java 기본 버전 변경 (`17` → `21`) - Gradle Java Toolchain에서 Java 버전 설정 변경 (`17` → `21`)
- `AttendanceEventDocument` 클래스 분리 및 이벤트 처리 로직 구현 - `AttendanceSecurity` 클래스 추가 및 출석 수정 요청/승인 권한 로직 구현
- `AttendanceCorrectionRequestServiceTest` 클래스 추가 및 요청 테스트 케이스 작성 - `AttendanceCorrectionApprovalServiceTest` 클래스 추가 및 승인 테스트 케이스 작성 - `AttendanceCorrectionRejectionServiceTest` 클래스 추가 및 거절 테스트 케이스 작성 - `AttendanceTest`에 도메인 로직 테스트 케이스 추가 (수정 요청, 승인, 거절 로직 포함)
테스트 커버리지 리포트
|
- `findById` 메서드 실행 시 잘못된 ObjectId 처리 로직 구현 - 불필요한 공백 제거 및 코드 정리 - 출석 수정 요청 권한 확인 어노테이션 수정
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 free
to 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.
💡 Motivation and Context
출석 수정 API
수정 요청/승인/거절 3개 엔드포인트 추가
Event Sourcing 패턴으로 모든 변경 이력 기록
역할 계층 기반 승인 권한 제어 (MENTOR < MANAGER < LEAD_MANAGER < REGISTRAR/ADMIN)
AttendanceEvent에 CorrectionRequested, StatusCorrected, CorrectionRejected 추가
Attendance에 requestCorrection, approveCorrection, rejectCorrection 메서드 추가
SystemRole에 SUPERVISOR, OPERATOR, REGISTRAR, AUDITOR 추가
CourseRole에 LEAD_MANAGER 추가
Java 21 업그레이드
🌟 More
API 엔드포인트
체크리스트
🤟🏻 PR로 완료된 이슈