finishing touches

This commit is contained in:
Darius
2026-02-09 19:22:52 +01:00
parent 872d3755d0
commit 9983ba1215
6 changed files with 3 additions and 36 deletions

View File

@@ -41,7 +41,7 @@ export abstract class BaseService<T> {
}
getErrorResult(errorMessage: string, error?: unknown): ServiceResult<string> {
logWarning(errorMessage);
logWarning(errorMessage, error);
return {
result: errorMessage,
successful: false,

View File

@@ -10,31 +10,15 @@ export type WsClientChangeCallback = (clients: number) => void;
export class WsService {
private clients: Set<WebSocket> = new Set();
private listeners: WsClientChangeCallback[] = [];
onClientChange(callback: WsClientChangeCallback): () => void {
this.listeners.push(callback);
return () => {
this.listeners = this.listeners.filter((cb) => cb !== callback);
};
}
private emitClientChange(): void {
for (const callback of this.listeners) {
callback(this.clients.size);
}
}
addClient(ws: WebSocket): void {
this.clients.add(ws);
logInfo(`Socket connected. Total clients: ${this.clients.size}`);
this.emitClientChange();
}
removeClient(ws: WebSocket): void {
this.clients.delete(ws);
logInfo(`Socket disconnected. Total clients: ${this.clients.size}`);
this.emitClientChange();
}
broadcast(message: WsEvent): void {