lila/apps/api/src
lila 7f56ad89e6 feat(api): add WebSocket handlers and game state management
- handleLobbyJoin: validates DB membership and waiting status,
  registers connection, tags ws.lobbyId, broadcasts lobby:state
- handleLobbyLeave: host leave deletes lobby, non-host leave
  removes player and broadcasts updated state
- handleLobbyStart: validates host + connected players >= 2,
  generates questions, initializes LobbyGameData, broadcasts
  first game:question, starts 15s round timer
- handleGameAnswer: stores answer, resolves round when all
  players answered or timer fires
- resolveRound: evaluates answers, updates scores, broadcasts
  game:answer_result, advances to next question or ends game
- endGame: persists final scores via finishGame transaction,
  determines winnerIds handling ties, broadcasts game:finished
- gameState.ts: shared lobbyGameStore singleton and timers Map
- LobbyGameData extended with code field to avoid mid-game
  DB lookups by ID
2026-04-17 15:50:08 +02:00
..
controllers feat(api): add REST endpoints for lobby create and join 2026-04-16 19:51:38 +02:00
errors feat(api): attach session to request in requireAuth 2026-04-16 19:51:10 +02:00
gameSessionStore feat(api): add in-memory GameSessionStore 2026-04-11 11:42:13 +02:00
lib feat: add production deployment config 2026-04-14 11:38:40 +02:00
lobbyGameStore feat(api): add WebSocket handlers and game state management 2026-04-17 15:50:08 +02:00
middleware feat(api): attach session to request in requireAuth 2026-04-16 19:51:10 +02:00
routes feat(api): add REST endpoints for lobby create and join 2026-04-16 19:51:38 +02:00
services feat(api): add WebSocket foundation and multiplayer game store 2026-04-17 09:36:16 +02:00
types feat(api): add WebSocket foundation and multiplayer game store 2026-04-17 09:36:16 +02:00
ws feat(api): add WebSocket handlers and game state management 2026-04-17 15:50:08 +02:00
app.ts feat: add production deployment config 2026-04-14 11:38:40 +02:00
server.ts feat(api): add WebSocket foundation and multiplayer game store 2026-04-17 09:36:16 +02:00