File tree Expand file tree Collapse file tree 6 files changed +94
-0
lines changed
backend/src/main/java/io/f1/backend/domain/game Expand file tree Collapse file tree 6 files changed +94
-0
lines changed Original file line number Diff line number Diff line change 1+ package io .f1 .backend .domain .game .event ;
2+
3+ import io .f1 .backend .domain .game .model .Room ;
4+ import io .f1 .backend .domain .quiz .entity .Quiz ;
5+
6+ public record RoomCreatedEvent (Room room , Quiz quiz ) {
7+ }
8+
Original file line number Diff line number Diff line change 1+ package io .f1 .backend .domain .game .event ;
2+
3+ public record RoomDeletedEvent (Long roomId ) {
4+ }
5+
Original file line number Diff line number Diff line change 1+ package io .f1 .backend .domain .game .event ;
2+
3+ import io .f1 .backend .domain .game .model .Room ;
4+ import io .f1 .backend .domain .quiz .entity .Quiz ;
5+
6+ public record RoomUpdatedEvent (Room room , Quiz quiz ) {
7+ }
Original file line number Diff line number Diff line change 1+ package io .f1 .backend .domain .game .sse .listener ;
2+
3+ import io .f1 .backend .domain .game .event .RoomCreatedEvent ;
4+ import io .f1 .backend .domain .game .sse .app .SseService ;
5+ import io .f1 .backend .domain .game .sse .dto .LobbySseEvent ;
6+ import io .f1 .backend .domain .game .sse .dto .RoomCreatedPayload ;
7+ import lombok .RequiredArgsConstructor ;
8+ import org .springframework .context .event .EventListener ;
9+ import org .springframework .scheduling .annotation .Async ;
10+ import org .springframework .stereotype .Component ;
11+
12+ import static io .f1 .backend .domain .game .sse .mapper .SseMapper .*;
13+
14+ @ Component
15+ @ RequiredArgsConstructor
16+ public class RoomCreatedEventListener {
17+
18+ private final SseService sseService ;
19+
20+ @ Async
21+ @ EventListener
22+ public void roomCreate (RoomCreatedEvent event ) {
23+ LobbySseEvent <RoomCreatedPayload > sseEvent = fromRoomCreated (event );
24+ sseService .notifyLobbyUpdate (sseEvent );
25+ }
26+
27+ }
Original file line number Diff line number Diff line change 1+ package io .f1 .backend .domain .game .sse .listener ;
2+
3+ import io .f1 .backend .domain .game .event .RoomDeletedEvent ;
4+ import io .f1 .backend .domain .game .sse .app .SseService ;
5+ import io .f1 .backend .domain .game .sse .dto .LobbySseEvent ;
6+ import io .f1 .backend .domain .game .sse .dto .RoomDeletedPayload ;
7+ import lombok .RequiredArgsConstructor ;
8+ import org .springframework .context .event .EventListener ;
9+ import org .springframework .scheduling .annotation .Async ;
10+
11+ import static io .f1 .backend .domain .game .sse .mapper .SseMapper .*;
12+
13+ @ RequiredArgsConstructor
14+ public class RoomDeletedEventListener {
15+
16+ private final SseService sseService ;
17+
18+ @ Async
19+ @ EventListener
20+ public void roomDelete (RoomDeletedEvent event ) {
21+ LobbySseEvent <RoomDeletedPayload > sseEvent = fromRoomDeleted (event );
22+ sseService .notifyLobbyUpdate (sseEvent );
23+ }
24+ }
Original file line number Diff line number Diff line change 1+ package io .f1 .backend .domain .game .sse .listener ;
2+
3+ import io .f1 .backend .domain .game .event .RoomUpdatedEvent ;
4+ import io .f1 .backend .domain .game .sse .app .SseService ;
5+ import io .f1 .backend .domain .game .sse .dto .LobbySseEvent ;
6+ import io .f1 .backend .domain .game .sse .dto .RoomUpdatedPayload ;
7+ import io .f1 .backend .domain .game .sse .mapper .SseMapper ;
8+ import lombok .RequiredArgsConstructor ;
9+ import org .springframework .context .event .EventListener ;
10+ import org .springframework .scheduling .annotation .Async ;
11+
12+ @ RequiredArgsConstructor
13+ public class RoomUpdatedEventListener {
14+
15+ private final SseService sseService ;
16+
17+ @ Async
18+ @ EventListener
19+ public void roomUpdate (RoomUpdatedEvent event ) {
20+ LobbySseEvent <RoomUpdatedPayload > sseEvent = SseMapper .fromRoomUpdated (event );
21+ sseService .notifyLobbyUpdate (sseEvent );
22+ }
23+ }
You can’t perform that action at this time.
0 commit comments