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,3 +1,12 @@
export interface Game {
description: string;
gameId: number;
gameType: string;
gameTypes: string[];
roomId: number;
started: boolean;
}
export enum GameSortField {
START_TIME = "startTime"
}
}

View file

@ -8,3 +8,4 @@ export * from "./user";
export * from "./routes";
export * from "./sort";
export * from "./forms";
export * from "./message";

View file

@ -0,0 +1,7 @@
export interface Message {
name: string;
message: string;
messageType: number;
timeOf: number;
timeReceived: number;
}

View file

@ -6,7 +6,7 @@ export interface Room {
gameCount: number;
gameList: any[];
gametypeList: any[];
gametypeMap: { [index: number]: string; };
gametypeMap: GametypeMap;
name: string;
permissionlevel: RoomAccessLevel;
playerCount: number;
@ -16,6 +16,8 @@ export interface Room {
order: number;
}
export interface GametypeMap { [index: number]: string }
export enum RoomAccessLevel {
"none"
}

View file

@ -1,3 +1,8 @@
export interface ServerStatus {
status: StatusEnum;
description: string;
}
export enum StatusEnum {
DISCONNECTED = 0,
CONNECTING = 1,
@ -43,4 +48,10 @@ export interface Log {
targetName: string;
targetType: string;
time: string;
}
}
export interface LogGroups {
room: Log[];
game: Log[];
chat: Log[];
}

View file

@ -6,4 +6,4 @@ export enum SortDirection {
export interface SortBy {
field: string;
order: SortDirection;
}
}

View file

@ -1,12 +1,12 @@
export interface User {
accountageSecs: number;
avatarBmp: Uint8Array;
country: string;
gender: number;
name: string;
privlevel: UserAccessLevel;
realName: string;
userLevel: UserPrivLevel;
gender?: number;
realName?: string;
country?: string;
avatarBmp?: Uint8Array;
}
export enum UserAccessLevel {
@ -22,4 +22,4 @@ export enum UserPrivLevel {
export enum UserSortField {
NAME = "name"
}
}