mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-09 15:54:47 -07:00
Refactor websocket into separate services, clean up socket status communication (#4433)
* Refactor websocket into separate services, clean up socket status communication * cleanup * add EOF lines * fix keepalive logged in check * undo change * fix keepalive connection check * cleanup * add typings * secure connection Co-authored-by: Jeremy Letto <jeremy.letto@datasite.com>
This commit is contained in:
parent
19333c53f6
commit
e9ba195d7d
52 changed files with 815 additions and 757 deletions
51
webclient/src/websocket/persistence/RoomPersistence.tsx
Normal file
51
webclient/src/websocket/persistence/RoomPersistence.tsx
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
import { store, RoomsDispatch, RoomsSelectors } from "store";
|
||||
import { Game, Message, Room, User } from 'types';
|
||||
import NormalizeService from "../utils/NormalizeService";
|
||||
|
||||
export class RoomPersistence {
|
||||
static clearStore() {
|
||||
RoomsDispatch.clearStore();
|
||||
}
|
||||
|
||||
static joinRoom(roomInfo: Room) {
|
||||
NormalizeService.normalizeRoomInfo(roomInfo);
|
||||
RoomsDispatch.joinRoom(roomInfo);
|
||||
}
|
||||
|
||||
static leaveRoom(roomId: number) {
|
||||
RoomsDispatch.leaveRoom(roomId);
|
||||
}
|
||||
|
||||
static updateRooms(rooms: Room[]) {
|
||||
RoomsDispatch.updateRooms(rooms);
|
||||
}
|
||||
|
||||
static updateGames(roomId: number, gameList: Game[]) {
|
||||
const game = gameList[0];
|
||||
|
||||
if (!game.gameType) {
|
||||
const room = RoomsSelectors.getRoom(store.getState(), roomId);
|
||||
|
||||
if (room) {
|
||||
const { gametypeMap } = room;
|
||||
NormalizeService.normalizeGameObject(game, gametypeMap);
|
||||
}
|
||||
}
|
||||
|
||||
RoomsDispatch.updateGames(roomId, gameList);
|
||||
}
|
||||
|
||||
static addMessage(roomId: number, message: Message) {
|
||||
NormalizeService.normalizeUserMessage(message);
|
||||
|
||||
RoomsDispatch.addMessage(roomId, message);
|
||||
}
|
||||
|
||||
static userJoined(roomId: number, user: User) {
|
||||
RoomsDispatch.userJoined(roomId, user);
|
||||
}
|
||||
|
||||
static userLeft(roomId: number, name: string) {
|
||||
RoomsDispatch.userLeft(roomId, name);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue