mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-01-03 00:30:27 -08: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:
@@ -1,20 +1,22 @@
|
||||
import { StatusEnum } from "types";
|
||||
import { webClient } from "websocket";
|
||||
import { ServerConnectParams } from "store";
|
||||
import { StatusEnum, User} from "types";
|
||||
import { webClient, SessionCommands } from "websocket";
|
||||
|
||||
export default class AuthenticationService {
|
||||
static connect(options) {
|
||||
webClient.persistence.session.connectServer(options);
|
||||
}
|
||||
static disconnect() {
|
||||
webClient.persistence.session.disconnectServer();
|
||||
static connect(options: ServerConnectParams): void {
|
||||
SessionCommands.connect(options);
|
||||
}
|
||||
|
||||
static isConnected(state) {
|
||||
static disconnect(): void {
|
||||
SessionCommands.disconnect();
|
||||
}
|
||||
|
||||
static isConnected(state: number): boolean {
|
||||
return state === StatusEnum.LOGGEDIN;
|
||||
}
|
||||
|
||||
static isModerator(user) {
|
||||
const moderatorLevel = webClient.pb.ServerInfo_User.UserLevelFlag.IsModerator;
|
||||
static isModerator(user: User): boolean {
|
||||
const moderatorLevel = webClient.protobuf.controller.ServerInfo_User.UserLevelFlag.IsModerator;
|
||||
// @TODO tell cockatrice not to do this so shittily
|
||||
return (user.userLevel & moderatorLevel) === moderatorLevel;
|
||||
}
|
||||
@@ -22,4 +24,4 @@ export default class AuthenticationService {
|
||||
static isAdmin() {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { webClient } from "websocket";
|
||||
import { SessionCommands } from "websocket";
|
||||
|
||||
export default class ModeratorService {
|
||||
static viewLogHistory(filters) {
|
||||
webClient.commands.session.viewLogHistory(filters);
|
||||
static viewLogHistory(filters): void {
|
||||
SessionCommands.viewLogHistory(filters);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import { webClient } from "websocket";
|
||||
import { RoomCommands, SessionCommands } from "websocket";
|
||||
|
||||
export default class RoomsService {
|
||||
static joinRoom(roomId) {
|
||||
webClient.commands.session.joinRoom(roomId);
|
||||
static joinRoom(roomId: number): void {
|
||||
SessionCommands.joinRoom(roomId);
|
||||
}
|
||||
|
||||
static leaveRoom(roomId) {
|
||||
webClient.commands.room.leaveRoom(roomId);
|
||||
static leaveRoom(roomId: number): void {
|
||||
RoomCommands.leaveRoom(roomId);
|
||||
}
|
||||
|
||||
static roomSay(roomId, message) {
|
||||
webClient.commands.room.roomSay(roomId, message);
|
||||
static roomSay(roomId: number, message: string): void {
|
||||
RoomCommands.roomSay(roomId, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,4 +4,4 @@ export class RouterService {
|
||||
resolveUrl(path, params) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
import { webClient } from "websocket";
|
||||
import { SessionCommands } from "websocket";
|
||||
|
||||
export default class SessionService {
|
||||
static addToBuddyList(userName) {
|
||||
webClient.commands.session.addToBuddyList(userName);
|
||||
static addToBuddyList(userName: string) {
|
||||
SessionCommands.addToBuddyList(userName);
|
||||
}
|
||||
|
||||
static removeFromBuddyList(userName) {
|
||||
webClient.commands.session.removeFromBuddyList(userName);
|
||||
static removeFromBuddyList(userName: string) {
|
||||
SessionCommands.removeFromBuddyList(userName);
|
||||
}
|
||||
|
||||
static addToIgnoreList(userName) {
|
||||
webClient.commands.session.addToIgnoreList(userName);
|
||||
static addToIgnoreList(userName: string) {
|
||||
SessionCommands.addToIgnoreList(userName);
|
||||
}
|
||||
|
||||
static removeFromIgnoreList(userName) {
|
||||
webClient.commands.session.removeFromIgnoreList(userName);
|
||||
static removeFromIgnoreList(userName: string) {
|
||||
SessionCommands.removeFromIgnoreList(userName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export { default as AuthenticationService } from "./AuthenticationService";
|
||||
export { default as ModeratorService } from "./ModeratorService";
|
||||
export { default as RoomsService } from "./RoomsService";
|
||||
export { default as SessionService } from "./SessionService";
|
||||
export { default as SessionService } from "./SessionService";
|
||||
|
||||
Reference in New Issue
Block a user