Skip to content

Commit 9fa29aa

Browse files
committed
✨ feat: StompHeaderAccessor로 사용자 정보 추출
1 parent a74e61f commit 9fa29aa

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

backend/src/main/java/io/f1/backend/domain/game/websocket/GameSocketController.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import io.f1.backend.domain.game.dto.request.DefaultWebSocketRequest;
1313
import io.f1.backend.domain.game.dto.request.GameStartRequest;
1414

15+
import io.f1.backend.domain.user.dto.UserPrincipal;
1516
import lombok.RequiredArgsConstructor;
1617

1718
import org.springframework.messaging.Message;
@@ -33,8 +34,10 @@ public void initializeRoomSocket(@DestinationVariable Long roomId, Message<?> me
3334

3435
String websocketSessionId = getSessionId(message);
3536

37+
UserPrincipal principal = getSessionUser(message);
38+
3639
RoomInitialData roomInitialData =
37-
roomService.initializeRoomSocket(roomId, websocketSessionId);
40+
roomService.initializeRoomSocket(roomId, websocketSessionId, principal);
3841
String destination = roomInitialData.destination();
3942

4043
messageSender.send(
@@ -51,8 +54,9 @@ public void initializeRoomSocket(@DestinationVariable Long roomId, Message<?> me
5154
public void exitRoom(@DestinationVariable Long roomId, Message<?> message) {
5255

5356
String websocketSessionId = getSessionId(message);
57+
UserPrincipal principal = getSessionUser(message);
5458

55-
RoomExitData roomExitData = roomService.exitRoom(roomId, websocketSessionId);
59+
RoomExitData roomExitData = roomService.exitRoom(roomId, websocketSessionId, principal);
5660

5761
String destination = roomExitData.getDestination();
5862

@@ -110,4 +114,9 @@ private static String getSessionId(Message<?> message) {
110114
StompHeaderAccessor accessor = StompHeaderAccessor.wrap(message);
111115
return accessor.getSessionId();
112116
}
117+
118+
private static UserPrincipal getSessionUser(Message<?> message) {
119+
StompHeaderAccessor accessor = StompHeaderAccessor.wrap(message);
120+
return (UserPrincipal) accessor.getUser();
121+
}
113122
}

0 commit comments

Comments
 (0)