Skip to content

Commit 6eb0942

Browse files
committed
✨ feat: repository, service 책임 분리, mapper추가
1 parent 7d75568 commit 6eb0942

File tree

4 files changed

+42
-17
lines changed

4 files changed

+42
-17
lines changed
Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
package io.f1.backend.domain.game.app;
22

3-
import io.f1.backend.domain.game.store.RoomRepository;
3+
import static io.f1.backend.domain.game.mapper.RoomMapper.toRoomSetting;
4+
45
import io.f1.backend.domain.game.dto.request.RoomCreateRequest;
6+
import io.f1.backend.domain.game.model.GameSetting;
7+
import io.f1.backend.domain.game.model.Player;
8+
import io.f1.backend.domain.game.model.RoomSetting;
9+
import io.f1.backend.domain.game.store.RoomRepository;
510
import java.util.Map;
611
import lombok.RequiredArgsConstructor;
712
import org.springframework.stereotype.Service;
@@ -12,8 +17,15 @@ public class RoomService {
1217

1318
private final RoomRepository roomRepository;
1419

15-
public Long saveRoom(RoomCreateRequest request,Map<String, Object> loginUser) {
16-
return roomRepository.saveRoom(request,loginUser);
20+
public Long saveRoom(RoomCreateRequest request, Map<String, Object> loginUser) {
21+
22+
//todo 제일 작은 index quizId 가져와서 gameSetting
23+
GameSetting gameSetting = new GameSetting(1L, 10, 60);
24+
//todo security에서 가져오는걸로 변경
25+
Player host = new Player((Long) loginUser.get("id"), loginUser.get("nickname").toString());
26+
RoomSetting roomSetting = toRoomSetting(request);
27+
28+
return roomRepository.saveRoom(gameSetting, host, roomSetting);
1729
}
1830

1931
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package io.f1.backend.domain.game.mapper;
2+
3+
import io.f1.backend.domain.game.dto.request.RoomCreateRequest;
4+
import io.f1.backend.domain.game.model.RoomSetting;
5+
6+
public class RoomMapper {
7+
8+
public static RoomSetting toRoomSetting(RoomCreateRequest request) {
9+
return new RoomSetting(request.roomName(), request.maxUserCount(),
10+
request.locked(), request.password());
11+
}
12+
13+
}

backend/src/main/java/io/f1/backend/domain/game/store/RoomRepository.java

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import io.f1.backend.domain.game.model.Player;
55
import io.f1.backend.domain.game.model.Room;
66
import io.f1.backend.domain.game.model.RoomSetting;
7-
import io.f1.backend.domain.game.dto.request.RoomCreateRequest;
87
import java.util.Map;
98
import java.util.concurrent.ConcurrentHashMap;
109
import java.util.concurrent.atomic.AtomicLong;
@@ -16,20 +15,10 @@ public class RoomRepository {
1615
private final Map<Long, Room> rooms = new ConcurrentHashMap<>();
1716
private final AtomicLong roomIdGenerator = new AtomicLong(0);
1817

19-
public Long saveRoom(RoomCreateRequest request, Map<String, Object> loginUser) {
18+
public Long saveRoom(GameSetting gameSetting, Player host, RoomSetting roomSetting) {
2019
Long newId = roomIdGenerator.incrementAndGet();
2120

22-
RoomSetting roomSetting = new RoomSetting(request.roomName(), request.maxUserCount(),
23-
request.locked(), request.password());
24-
25-
//todo 제일 작은 index quizId 가져와서 gameSetting
26-
GameSetting gameSetting = new GameSetting(1L, 10, 60);
27-
28-
Player host = new Player((Long) loginUser.get("id"), loginUser.get("nickname").toString());
29-
30-
Room newRoom = new Room(newId, roomSetting, gameSetting, host);
31-
32-
rooms.put(newId, newRoom);
21+
rooms.put(newId, new Room(newId,roomSetting,gameSetting,host));
3322

3423
return newId;
3524
}

backend/src/test/java/io/f1/backend/domain/game/store/RoomRepositoryTests.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
22

33
import static org.assertj.core.api.Assertions.assertThat;
44

5+
import io.f1.backend.domain.game.model.GameSetting;
6+
import io.f1.backend.domain.game.model.Player;
57
import io.f1.backend.domain.game.model.Room;
68
import io.f1.backend.domain.game.dto.request.RoomCreateRequest;
9+
import io.f1.backend.domain.game.model.RoomSetting;
710
import java.util.HashMap;
811
import java.util.Map;
912
import org.junit.jupiter.api.BeforeEach;
@@ -29,7 +32,15 @@ void saveRoom_test() {
2932
loginUser.put("id", 1L);
3033
loginUser.put("nickname", "빵야빵야");
3134

32-
Long savedId = roomRepository.saveRoom(request, loginUser);
35+
36+
GameSetting gameSetting = new GameSetting(1L, 10, 60);
37+
38+
Player host = new Player((Long) loginUser.get("id"), loginUser.get("nickname").toString());
39+
40+
RoomSetting roomSetting = new RoomSetting(request.roomName(), request.maxUserCount(),
41+
request.locked(), request.password());
42+
43+
Long savedId = roomRepository.saveRoom(gameSetting,host,roomSetting);
3344

3445
Room savedRoom = roomRepository.getRoomForTest(savedId);
3546

0 commit comments

Comments
 (0)