Conversation
|
Caution Review failedThe pull request is closed. WalkthroughGroupV2ControllerDocs에 호스트/관리자 권한의 모임 회원 관리 엔드포인트(승인, 거절, 추방, 차단, 차단 해제 등)를 위한 Swagger 정의가 추가되었습니다. 각 엔드포인트는 적절한 HTTP 메서드로 매핑되고 새로운 응답 DTO 타입을 사용합니다. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR adds Swagger documentation for V2 group management APIs related to user status management in meetings. The changes introduce comprehensive API documentation for host-controlled actions such as approving/rejecting participants, kicking/banning users, and querying targets for these operations.
- Adds Swagger
@Operationannotations for 8 new endpoint documentations covering participant approval workflows and moderation features - Imports new response DTOs (
GetBanTargetsResponse,GetBannedTargetsResponse,GetKickTargetsResponse,GroupUserV2StatusResponse) to support the documented endpoints - Includes Korean language descriptions explaining state transitions (e.g., PENDING → ATTEND, ATTEND → KICKED, BANNED → KICKED)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - 권한: HOST | ||
| """ | ||
| ) | ||
| @PostMapping("/{groupId}/attendance/{targetUserId}/unban") |
There was a problem hiding this comment.
The mapping annotation @PostMapping should not be placed in the interface. Following the existing pattern in this file, mapping annotations like @PostMapping, @GetMapping, @PatchMapping, etc. should only be placed in the implementation class (GroupV2Controller), not in the documentation interface (GroupV2ControllerDocs). The interface should only contain @operation annotations for Swagger documentation. Please remove this annotation from the interface.
| @PostMapping("/{groupId}/attendance/{targetUserId}/unban") |
| - 권한: HOST | ||
| """ | ||
| ) | ||
| @GetMapping("/{groupId}/attendance/ban-targets") |
There was a problem hiding this comment.
The mapping annotation @GetMapping should not be placed in the interface. Following the existing pattern in this file, mapping annotations like @PostMapping, @GetMapping, @PatchMapping, etc. should only be placed in the implementation class (GroupV2Controller), not in the documentation interface (GroupV2ControllerDocs). The interface should only contain @operation annotations for Swagger documentation. Please remove this annotation from the interface.
| - 권한: HOST | ||
| """ | ||
| ) | ||
| @GetMapping("/{groupId}/attendance/banned-targets") |
There was a problem hiding this comment.
The mapping annotation @GetMapping should not be placed in the interface. Following the existing pattern in this file, mapping annotations like @PostMapping, @GetMapping, @PatchMapping, etc. should only be placed in the implementation class (GroupV2Controller), not in the documentation interface (GroupV2ControllerDocs). The interface should only contain @operation annotations for Swagger documentation. Please remove this annotation from the interface.
| @GetMapping("/{groupId}/attendance/banned-targets") |
| - 권한: HOST 또는 정책상 승인 가능한 권한자 | ||
| """ | ||
| ) | ||
| @PostMapping("/{groupId}/attendance/{targetUserId}/approve") |
There was a problem hiding this comment.
The mapping annotation @PostMapping should not be placed in the interface. Following the existing pattern in this file, mapping annotations like @PostMapping, @GetMapping, @PatchMapping, etc. should only be placed in the implementation class (GroupV2Controller), not in the documentation interface (GroupV2ControllerDocs). The interface should only contain @operation annotations for Swagger documentation. Please remove this annotation from the interface.
| - 권한: HOST | ||
| """ | ||
| ) | ||
| @GetMapping("/{groupId}/attendance/kick-targets") |
There was a problem hiding this comment.
The mapping annotation @GetMapping should not be placed in the interface. Following the existing pattern in this file, mapping annotations like @PostMapping, @GetMapping, @PatchMapping, etc. should only be placed in the implementation class (GroupV2Controller), not in the documentation interface (GroupV2ControllerDocs). The interface should only contain @operation annotations for Swagger documentation. Please remove this annotation from the interface.
| @GetMapping("/{groupId}/attendance/kick-targets") |
| import java.util.List; | ||
| import org.springframework.http.ResponseEntity; | ||
| import org.springframework.security.core.annotation.AuthenticationPrincipal; | ||
| import org.springframework.web.bind.annotation.GetMapping; |
There was a problem hiding this comment.
This import is only needed because of the incorrectly placed @GetMapping annotations in the interface. Since mapping annotations should only be in the implementation class (GroupV2Controller) and not in the documentation interface (GroupV2ControllerDocs), this import should be removed from the interface file.
| import org.springframework.web.bind.annotation.GetMapping; |
| import org.springframework.security.core.annotation.AuthenticationPrincipal; | ||
| import org.springframework.web.bind.annotation.GetMapping; | ||
| import org.springframework.web.bind.annotation.PathVariable; | ||
| import org.springframework.web.bind.annotation.PostMapping; |
There was a problem hiding this comment.
This import is only needed because of the incorrectly placed @PostMapping annotations in the interface. Since mapping annotations should only be in the implementation class (GroupV2Controller) and not in the documentation interface (GroupV2ControllerDocs), this import should be removed from the interface file.
| import org.springframework.web.bind.annotation.PostMapping; |
| - 권한: HOST 또는 정책상 거절 가능한 권한자 | ||
| """ | ||
| ) | ||
| @PostMapping("/{groupId}/attendance/{targetUserId}/reject") |
There was a problem hiding this comment.
The mapping annotation @PostMapping should not be placed in the interface. Following the existing pattern in this file, mapping annotations like @PostMapping, @GetMapping, @PatchMapping, etc. should only be placed in the implementation class (GroupV2Controller), not in the documentation interface (GroupV2ControllerDocs). The interface should only contain @operation annotations for Swagger documentation. Please remove this annotation from the interface.
| - 권한: HOST | ||
| """ | ||
| ) | ||
| @PostMapping("/{groupId}/attendance/{targetUserId}/kick") |
There was a problem hiding this comment.
The mapping annotation @PostMapping should not be placed in the interface. Following the existing pattern in this file, mapping annotations like @PostMapping, @GetMapping, @PatchMapping, etc. should only be placed in the implementation class (GroupV2Controller), not in the documentation interface (GroupV2ControllerDocs). The interface should only contain @operation annotations for Swagger documentation. Please remove this annotation from the interface.
| - 권한: HOST | ||
| """ | ||
| ) | ||
| @PostMapping("/{groupId}/attendance/{targetUserId}/ban") |
There was a problem hiding this comment.
The mapping annotation @PostMapping should not be placed in the interface. Following the existing pattern in this file, mapping annotations like @PostMapping, @GetMapping, @PatchMapping, etc. should only be placed in the implementation class (GroupV2Controller), not in the documentation interface (GroupV2ControllerDocs). The interface should only contain @operation annotations for Swagger documentation. Please remove this annotation from the interface.
📝 Pull Request
📌 PR 종류
해당하는 항목에 체크해주세요.
✨ 변경 내용
V2 모임 상태에 따른 스웨거 업데이트합니다.
🔍 관련 이슈
🧪 테스트
변경된 기능에 대한 테스트 범위 또는 테스트 결과를 작성해주세요.
🚨 확인해야 할 사항 (Checklist)
PR을 제출하기 전에 아래 항목들을 확인해주세요.
🙋 기타 참고 사항
리뷰어가 참고하면 좋을 만한 추가 설명이 있다면 적어주세요.
Summary by CodeRabbit
새로운 기능
✏️ Tip: You can customize this high-level summary in your review settings.