Parent Epic
개요
기존 채팅방 API를 확장하여 게임 방 타입을 지원합니다.
상세 요구사항
1. Room 스키마 변경
interface Room {
// 기존 필드
roomId: string
name: string
// NEW
type: 'CHAT' | 'GAME'
gameType?: 'CATCHMIND'
status: 'WAITING' | 'PLAYING' | 'FINISHED'
gameSettings?: {
maxRounds: number
roundTimeLimit: number
}
}
2. API 변경
| API |
변경 사항 |
POST /chat/rooms |
body에 type, gameType 필드 추가 |
GET /chat/rooms |
?type=GAME&gameType=CATCHMIND&status=WAITING 필터 추가 |
POST /chat/rooms/:id/game/start |
type: 'GAME' 방에서만 허용 |
POST /chat/rooms/:id/game/restart |
NEW - 게임 재시작 |
DELETE /chat/rooms/:id |
NEW - 방 삭제 (방장만) |
3. WebSocket 메시지
- 기존 메시지 유지
room_status_change 메시지 추가 (WAITING → PLAYING → FINISHED)
host_change 메시지 추가 (방장 변경 시)
Tasks
참고 문서
완료 조건 (AC)
Parent Epic
개요
기존 채팅방 API를 확장하여 게임 방 타입을 지원합니다.
상세 요구사항
1. Room 스키마 변경
2. API 변경
POST /chat/roomstype,gameType필드 추가GET /chat/rooms?type=GAME&gameType=CATCHMIND&status=WAITING필터 추가POST /chat/rooms/:id/game/starttype: 'GAME'방에서만 허용POST /chat/rooms/:id/game/restartDELETE /chat/rooms/:id3. WebSocket 메시지
room_status_change메시지 추가 (WAITING → PLAYING → FINISHED)host_change메시지 추가 (방장 변경 시)Tasks
참고 문서
완료 조건 (AC)