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:
Jeremy Letto 2021-10-17 00:07:30 -05:00 committed by GitHub
parent 19333c53f6
commit e9ba195d7d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
52 changed files with 815 additions and 757 deletions

View file

@ -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() {
}
}
}