Refactor/#201 멘토 담당 프로젝트 대회 무관 조회로 변경#202
Merged
Hidden character warning
The head ref may contain hidden characters: "Refactor/#201_\uba58\ud1a0-\ub2f4\ub2f9-\ud504\ub85c\uc81d\ud2b8-\ub300\ud68c-\ubb34\uad00-\uc870\ud68c\ub85c-\ubcc0\uacbd"
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
멘토(교수/외부멘토) 담당 프로젝트 조회 API를 “대회 단건 스코프”에서 “본인이 배정된 모든 대회(종료 포함) 합산 조회”로 리팩터링하여, 멘토가 대회 선택 없이 전체 담당 프로젝트/통계를 한 번에 조회할 수 있도록 변경한 PR입니다.
Changes:
- 멘토 담당 프로젝트 조회 엔드포인트를
GET /contests/{contestId}/mentor/projects→GET /contests/mentors/me/projects로 변경하고, 서비스 로직을 모든 대회 합산 집계로 변경 ContestMemberRepository에 멤버 기준 전체 조회용findAllByMemberId추가- REST Docs/Asciidoc 및 서비스 테스트를 신규 API/동작에 맞게 업데이트
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/java/com/opus/opus/modules/contest/api/ContestMentorController.java | 컨트롤러 base path를 /contests로 조정하고 멘토 프로젝트 조회를 me 기반 endpoint로 변경 |
| src/main/java/com/opus/opus/modules/contest/application/ContestMentorQueryService.java | 멘토가 배정된 모든 대회의 담당 프로젝트/통계를 flatten·합산하여 반환하도록 집계 로직 변경 |
| src/main/java/com/opus/opus/modules/contest/domain/dao/ContestMemberRepository.java | 멘버 기준 ContestMember 전체 조회 메서드 추가 |
| src/test/java/com/opus/opus/contest/application/ContestMentorQueryServiceTest.java | 다중 대회 배정 시 합산 조회 동작을 검증하는 테스트 추가 및 기존 contestId 기반 테스트 정리 |
| src/test/java/com/opus/opus/restdocs/docs/ContestMentorApiDocsTest.java | REST Docs 스니펫을 신규 멘토 프로젝트 조회 URL(대회 무관)로 변경 |
| src/main/java/com/opus/opus/docs/asciidoc/mentor.adoc | 멘토 담당 프로젝트 조회 설명/스니펫을 대회 무관 조회로 반영 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
🔥 연관된 이슈
close: #201
📜 작업 내용
GET /contests/{contestId}/mentor/projects→GET /contests/mentors/me/projectsContestMember를 멤버 기준으로 전부 조회(findAllByMemberId)한 뒤, 대회별 기존 집계 로직(트랙명·피드백 대기 건수)을 재사용해 flatten·합산하도록 구현했습니다./contests/{contestId}→/contests로 조정하고{contestId}를 팀 제출물 조회 메서드로 옮겼습니다. (팀 제출물 API URL은 그대로 유지)💬 리뷰 요구사항
✨ 기타
me는@LoginMember로 해석되며, 기존/members/me컨벤션과 URL 스타일을 맞췄습니다.