|
@@ -1,20 +1,30 @@
|
|
|
import express from "express";
|
|
|
-import { Server } from "net";
|
|
|
-import path from "path";
|
|
|
-import { IClient } from "./models/client";
|
|
|
-import { IMessage } from "./models/message";
|
|
|
-import { Realm } from "./models/realm";
|
|
|
-import { IRealm } from "./models/realm";
|
|
|
-import { CheckBrokenConnections } from "./services/checkBrokenConnections";
|
|
|
-import { IMessagesExpire, MessagesExpire } from "./services/messagesExpire";
|
|
|
-import { IWebSocketServer, WebSocketServer } from "./services/webSocketServer";
|
|
|
-import { MessageHandler } from "./messageHandler";
|
|
|
-import { Api } from "./api";
|
|
|
-import { IConfig } from "./config";
|
|
|
+import {Server as HttpServer} from "node:http";
|
|
|
+import {Server as HttpsServer} from "node:https";
|
|
|
+import path from "node:path";
|
|
|
+import type {IRealm} from "./models/realm";
|
|
|
+import {Realm} from "./models/realm";
|
|
|
+import {CheckBrokenConnections} from "./services/checkBrokenConnections";
|
|
|
+import type {IMessagesExpire} from "./services/messagesExpire";
|
|
|
+import {MessagesExpire} from "./services/messagesExpire";
|
|
|
+import type {IWebSocketServer} from "./services/webSocketServer";
|
|
|
+import {WebSocketServer} from "./services/webSocketServer";
|
|
|
+import {MessageHandler} from "./messageHandler";
|
|
|
+import {Api} from "./api";
|
|
|
+import type {IClient} from "./models/client";
|
|
|
+import type {IMessage} from "./models/message";
|
|
|
+import type {IConfig} from "./config";
|
|
|
+
|
|
|
+export interface PeerServerEvents {
|
|
|
+ on(event: 'connection', listener: (client: IClient) => void): this;
|
|
|
+ on(event: "message", listener: (client: IClient, message: IMessage) => void): this;
|
|
|
+ on(event: "disconnect", listener: (client: IClient) => void): this;
|
|
|
+ on(event: "error", listener: (client: Error) => void): this;
|
|
|
+}
|
|
|
|
|
|
export const createInstance = ({ app, server, options }: {
|
|
|
app: express.Application;
|
|
|
- server: Server;
|
|
|
+ server: HttpServer | HttpsServer;
|
|
|
options: IConfig;
|
|
|
}): void => {
|
|
|
const config = options;
|
|
@@ -72,4 +82,4 @@ export const createInstance = ({ app, server, options }: {
|
|
|
|
|
|
messagesExpire.startMessagesExpiration();
|
|
|
checkBrokenConnections.start();
|
|
|
-};
|
|
|
+};
|