1212import io .f1 .backend .domain .game .dto .request .DefaultWebSocketRequest ;
1313import io .f1 .backend .domain .game .dto .request .GameStartRequest ;
1414
15+ import io .f1 .backend .domain .user .dto .UserPrincipal ;
1516import lombok .RequiredArgsConstructor ;
1617
1718import 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