-
Notifications
You must be signed in to change notification settings - Fork 0
Description
이슈 배경
사용자가 특정 채팅방을 삭제할 때, 해당 채팅방과 연관된 모든 데이터(메시지 로그, 피드백 등)를 DB에서 영구적으로 제거하는 Hard Delete API(DELETE /v1/chats/{chatId})를 구현함.
이슈 내용
1. API 명세 구현 (ChatController, ChatApi)
- Endpoint:
DELETE /v1/chats/{chatId} - Request: Path Variable로
chatId전달. (Header의Authorization토큰으로 소유권 검증). - Response: 성공 시 별도 데이터 없이 성공 메시지 반환.
2. 개발 범위
ChatController: 채팅방 삭제 요청 핸들링 및 권한 검증(본인 확인).ChatFacade: 트랜잭션 범위 내에서 데이터 삭제 순서 보장 (피드백 -> 메시지 -> 채팅방).FeedbackService,FeedbackCommandService: 삭제 대상 채팅방 내의 모든 메시지에 연결된 피드백 데이터 삭제 처리.FeedbackRepository: DB에서 피드백 데이터 영구 제거(delete).MessageService,MessageCommandService: 해당 채팅방의 모든 채팅 로그(메시지) 데이터 삭제 처리.MessageRepository: DB에서 메시지 데이터 영구 제거(delete).ChatCommandService: 최종적으로 채팅방 엔티티(Chat) 삭제 처리.ChatRepository: DB에서 채팅방 데이터 영구 제거(delete).
3. 테스트 작성
- Integration Test: API 호출 시 채팅방, 메시지, 피드백 테이블에서 데이터가 완전히 사라지는지 검증함.
- Unit Test: 서비스 간 호출 순서 및 Repository 삭제 메서드 호출 여부 테스트.
참고 자료
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels