Conversation
fix: 어드민 채팅방 메시지 전송 403 에러 재수정
refactor: 동아리 상세 정보 Response 수정
develop -> main
develop -> main
develop -> main
refactor: 모든 사용자가 동아리 회비 정보에 접근할 수 있도록 변경
* feat: flyway 추가 * feat: 애플 리프레쉬 토큰 관련 로직 추가 * feat: 애플 revoke 로직 추가
# Conflicts: # src/main/resources/application.yml
develop -> main
fix: 어드민 채팅방 리스트 조회 시 상대방 이름이 출력되지 않는 오류 해결
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughAdds pre-member management: two new API endpoints to list and remove club pre-members, service methods enforcing manager access, repository queries and deletion, a DTO for responses, and a new NOT_FOUND error code. Changes
Sequence Diagram(s)sequenceDiagram
participant Client
participant Controller as ClubMemberController
participant Service as ClubMemberManagementService
participant Repo as ClubPreMemberRepository
participant DB as Database
Client->>Controller: GET /{clubId}/pre-members (userId)
Controller->>Service: getPreMembers(clubId, userId)
Service->>Service: validateManagerAccess(clubId, userId)
Service->>Repo: findAllByClubId(clubId)
Repo->>DB: SELECT pre-members WHERE club_id=...
DB-->>Repo: List<ClubPreMember>
Repo-->>Service: List<ClubPreMember>
Service->>Service: ClubPreMembersResponse.from(list)
Service-->>Controller: ClubPreMembersResponse
Controller-->>Client: 200 OK + response
sequenceDiagram
participant Client
participant Controller as ClubMemberController
participant Service as ClubMemberManagementService
participant Repo as ClubPreMemberRepository
participant DB as Database
Client->>Controller: DELETE /{clubId}/pre-members/{preMemberId} (requesterId)
Controller->>Service: removePreMember(clubId, preMemberId, requesterId)
Service->>Service: validateManagerAccess(clubId, requesterId)
Service->>Repo: getByIdAndClubId(preMemberId, clubId)
Repo->>DB: SELECT pre-member WHERE id=... AND club_id=...
DB-->>Repo: ClubPreMember or empty
Repo-->>Service: ClubPreMember (or exception)
Service->>Repo: delete(preMember)
Repo->>DB: DELETE pre-member
DB-->>Repo: deletion confirmed
Repo-->>Service: complete
Service-->>Controller: void
Controller-->>Client: 204 No Content
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@src/main/java/gg/agit/konect/domain/club/controller/ClubMemberApi.java`:
- Around line 123-130: The OpenAPI `@Operation` description on the delete endpoint
in ClubMemberApi incorrectly states only president/vice-president can delete
pre-registered members; update the annotation for the delete operation (the
`@Operation` on the delete pre-member endpoint in class ClubMemberApi) to state
that club managers (manager-level access) are allowed in addition to
president/vice-president, and adjust the error list if needed so it matches
actual access rules (e.g., mention FORBIDDEN_CLUB_MANAGER_ACCESS only when
appropriate).
- Around line 110-125: Update the API docs to reflect that managers (운영진/매니저)
are allowed: change the description text for the getPreMembers operation (method
getPreMembers) and the corresponding "사전 등록 회원을 삭제한다." operation to say "동아리 회장,
부회장 또는 운영진(매니저)만 사전 등록 회원을 조회/삭제할 수 있습니다." and ensure any error bullets
referencing FORBIDDEN_CLUB_MANAGER_ACCESS are reworded or removed so they no
longer contradict manager-level access (adjust the human-readable error text
accordingly).
There was a problem hiding this comment.
Pull request overview
이 PR은 동아리 사전 멤버(pre-member) 관리 기능을 개선합니다. 사전 등록된 회원을 조회하고 삭제하는 API를 추가하고, 동아리 인원 관리 권한을 운영진(MANAGER) 이상으로 확대했습니다.
Changes:
- 사전 등록 회원 리스트 조회 API 추가 (
GET /clubs/{clubId}/pre-members) - 사전 등록 회원 삭제 API 추가 (
DELETE /clubs/{clubId}/pre-members/{preMemberId}) - 사전 멤버 추가 API의 접근 권한을 회장/부회장에서 운영진 이상으로 확대 (
validateLeaderAccess→validateManagerAccess)
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 |
|---|---|
| ApiResponseCode.java | NOT_FOUND_CLUB_PRE_MEMBER 에러 코드 추가 |
| ClubMemberManagementService.java | getPreMembers, removePreMember 메서드 추가 및 addPreMember의 권한 검증을 validateManagerAccess로 변경 |
| ClubPreMemberRepository.java | findAllByClubId, findByIdAndClubId, getByIdAndClubId, delete 메서드 추가 |
| ClubPreMembersResponse.java | 사전 회원 리스트 응답 DTO 추가 |
| ClubMemberController.java | getPreMembers, removePreMember 엔드포인트 구현 |
| ClubMemberApi.java | 새로운 API 엔드포인트에 대한 Swagger 문서 추가 |
🔍 개요
🚀 주요 변경 내용
추가한 사전 멤버에 대해 조회 및 삭제 API를 추가했습니다.
동아리 인원 관리는 운영진부터 가능해야 하므로 접근 권한을 수정했습니다.
💬 참고 사항
✅ Checklist (완료 조건)
Summary by CodeRabbit