Class RoomService
java.lang.Object
com.example.chessdotnet.service.RoomService
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateRoom
(String title, Long creatorId) 새로운 방을 생성합니다.void
deleteRoom
(Long roomId, Long userId) 방을 삭제하는 기능을 처리합니다.사용 가능한 (게임이 시작되지 않은) 모든 방의 목록을 반환합니다.사용자가 특정 게임 방에 참여합니다.사용자가 방을 나가는 기능을 처리합니다.
-
Constructor Details
-
RoomService
public RoomService()
-
-
Method Details
-
createRoom
새로운 방을 생성합니다.- Parameters:
title
- 생성할 방의 제목creatorId
- 방을 생성하는 사용자의 ID- Returns:
- 생성된 Room의 DTO
- Throws:
UserNotFoundException
- 지정된 ID의 사용자를 찾을 수 없는 경우
-
joinRoom
사용자가 특정 게임 방에 참여합니다.- Parameters:
roomId
- 참여할 방의 IDuserId
- 참여하는 사용자의 ID- Returns:
- 업데이트된 Room의 DTO
- Throws:
RoomNotFoundException
- 방을 찾을 수 없을 때 발생UserNotFoundException
- 사용자를 찾을 수 없을 때 발생
-
getAvailableRooms
-
leaveRoom
사용자가 방을 나가는 기능을 처리합니다.- Parameters:
roomId
- 나가려는 방의 IDuserId
- 나가려는 사용자의 ID- Returns:
- 업데이트된 방 정보. 방이 삭제된 경우 null을 반환
- Throws:
RoomNotFoundException
- 지정된 ID의 방을 찾을 수 없는 경우UserNotFoundException
- 지정된 ID의 사용자를 찾을 수 없는 경우UserNotInRoomException
- 사용자가 해당 방에 없는 경우
-
deleteRoom
방을 삭제하는 기능을 처리합니다.- Parameters:
roomId
- 삭제할 방의 IDuserId
- 삭제를 요청한 사용자의 ID- Throws:
RoomNotFoundException
- 지정된 ID의 방을 찾을 수 없는 경우UserNotFoundException
- 지정된 ID의 사용자를 찾을 수 없는 경우IllegalStateException
- 방 생성자가 아닌 사용자가 삭제를 시도하는 경우
-