@scpxl/nodejs-framework 1.0.19 → 1.0.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/README.md +530 -67
- package/dist/application/base-application.js +1 -1
- package/dist/application/base-application.js.map +2 -2
- package/dist/application/command-application.js.map +2 -2
- package/dist/application/web-application.js +1 -0
- package/dist/application/web-application.js.map +2 -2
- package/dist/command/command.js.map +1 -1
- package/dist/config/schema.js +16 -6
- package/dist/config/schema.js.map +2 -2
- package/dist/event/manager.js.map +2 -2
- package/dist/lifecycle/lifecycle-manager.js.map +2 -2
- package/dist/logger/logger.js +21 -1
- package/dist/logger/logger.js.map +2 -2
- package/dist/queue/index.js.map +1 -1
- package/dist/queue/manager.js +24 -12
- package/dist/queue/manager.js.map +2 -2
- package/dist/queue/processor/base.js.map +2 -2
- package/dist/services/aws/s3.js.map +2 -2
- package/dist/util/helper.js +1 -1
- package/dist/util/helper.js.map +2 -2
- package/dist/util/loader.js.map +2 -2
- package/dist/webserver/controller/base.js.map +2 -2
- package/dist/webserver/define-route.js +22 -0
- package/dist/webserver/define-route.js.map +7 -0
- package/dist/webserver/index.js +2 -0
- package/dist/webserver/index.js.map +2 -2
- package/dist/webserver/webserver.interface.js.map +2 -2
- package/dist/webserver/webserver.js +211 -56
- package/dist/webserver/webserver.js.map +2 -2
- package/dist/websocket/websocket-base.js.map +2 -2
- package/dist/websocket/websocket-client.js.map +1 -1
- package/dist/websocket/websocket-server.js +5 -5
- package/dist/websocket/websocket-server.js.map +2 -2
- package/dist/websocket/websocket.interface.js.map +2 -2
- package/package.json +3 -2
- package/dist/api-requester/api-requester.d.ts +0 -32
- package/dist/api-requester/api-requester.d.ts.map +0 -1
- package/dist/api-requester/index.d.ts +0 -3
- package/dist/api-requester/index.d.ts.map +0 -1
- package/dist/application/base-application.d.ts +0 -106
- package/dist/application/base-application.d.ts.map +0 -1
- package/dist/application/base-application.interface.d.ts +0 -161
- package/dist/application/base-application.interface.d.ts.map +0 -1
- package/dist/application/command-application.d.ts +0 -18
- package/dist/application/command-application.d.ts.map +0 -1
- package/dist/application/command-application.interface.d.ts +0 -26
- package/dist/application/command-application.interface.d.ts.map +0 -1
- package/dist/application/index.d.ts +0 -5
- package/dist/application/index.d.ts.map +0 -1
- package/dist/application/web-application.d.ts +0 -43
- package/dist/application/web-application.d.ts.map +0 -1
- package/dist/application/web-application.interface.d.ts +0 -21
- package/dist/application/web-application.interface.d.ts.map +0 -1
- package/dist/auth/index.d.ts +0 -2
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/jwt.d.ts +0 -25
- package/dist/auth/jwt.d.ts.map +0 -1
- package/dist/cache/index.d.ts +0 -2
- package/dist/cache/index.d.ts.map +0 -1
- package/dist/cache/manager.d.ts +0 -107
- package/dist/cache/manager.d.ts.map +0 -1
- package/dist/cluster/cluster-manager.d.ts +0 -15
- package/dist/cluster/cluster-manager.d.ts.map +0 -1
- package/dist/cluster/cluster-manager.interface.d.ts +0 -23
- package/dist/cluster/cluster-manager.interface.d.ts.map +0 -1
- package/dist/cluster/index.d.ts +0 -2
- package/dist/cluster/index.d.ts.map +0 -1
- package/dist/command/command-manager.d.ts +0 -19
- package/dist/command/command-manager.d.ts.map +0 -1
- package/dist/command/command.d.ts +0 -27
- package/dist/command/command.d.ts.map +0 -1
- package/dist/command/command.interface.d.ts +0 -11
- package/dist/command/command.interface.d.ts.map +0 -1
- package/dist/command/index.d.ts +0 -3
- package/dist/command/index.d.ts.map +0 -1
- package/dist/config/env.d.ts +0 -11
- package/dist/config/env.d.ts.map +0 -1
- package/dist/config/index.d.ts +0 -3
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/schema.d.ts +0 -408
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/database/dynamic-entity-form-decorators.d.ts +0 -31
- package/dist/database/dynamic-entity-form-decorators.d.ts.map +0 -1
- package/dist/database/dynamic-entity.d.ts +0 -15
- package/dist/database/dynamic-entity.d.ts.map +0 -1
- package/dist/database/index.d.ts +0 -5
- package/dist/database/index.d.ts.map +0 -1
- package/dist/database/instance.d.ts +0 -36
- package/dist/database/instance.d.ts.map +0 -1
- package/dist/database/instance.interface.d.ts +0 -5
- package/dist/database/instance.interface.d.ts.map +0 -1
- package/dist/database/manager.d.ts +0 -27
- package/dist/database/manager.d.ts.map +0 -1
- package/dist/database/manager.interface.d.ts +0 -18
- package/dist/database/manager.interface.d.ts.map +0 -1
- package/dist/error/error-reporter.d.ts +0 -96
- package/dist/error/error-reporter.d.ts.map +0 -1
- package/dist/error/error.interface.d.ts +0 -126
- package/dist/error/error.interface.d.ts.map +0 -1
- package/dist/error/framework-errors.d.ts +0 -113
- package/dist/error/framework-errors.d.ts.map +0 -1
- package/dist/error/index.d.ts +0 -6
- package/dist/error/index.d.ts.map +0 -1
- package/dist/event/controller/base.d.ts +0 -23
- package/dist/event/controller/base.d.ts.map +0 -1
- package/dist/event/controller/base.interface.d.ts +0 -11
- package/dist/event/controller/base.interface.d.ts.map +0 -1
- package/dist/event/index.d.ts +0 -5
- package/dist/event/index.d.ts.map +0 -1
- package/dist/event/manager.d.ts +0 -21
- package/dist/event/manager.d.ts.map +0 -1
- package/dist/event/manager.interface.d.ts +0 -134
- package/dist/event/manager.interface.d.ts.map +0 -1
- package/dist/index.d.ts +0 -22
- package/dist/index.d.ts.map +0 -1
- package/dist/lifecycle/exit.d.ts +0 -11
- package/dist/lifecycle/exit.d.ts.map +0 -1
- package/dist/lifecycle/index.d.ts +0 -7
- package/dist/lifecycle/index.d.ts.map +0 -1
- package/dist/lifecycle/lifecycle-manager.d.ts +0 -66
- package/dist/lifecycle/lifecycle-manager.d.ts.map +0 -1
- package/dist/lifecycle/shutdown-controller.d.ts +0 -15
- package/dist/lifecycle/shutdown-controller.d.ts.map +0 -1
- package/dist/lifecycle/types.d.ts +0 -28
- package/dist/lifecycle/types.d.ts.map +0 -1
- package/dist/logger/index.d.ts +0 -2
- package/dist/logger/index.d.ts.map +0 -1
- package/dist/logger/logger.d.ts +0 -55
- package/dist/logger/logger.d.ts.map +0 -1
- package/dist/logger/logger.interface.d.ts +0 -2
- package/dist/logger/logger.interface.d.ts.map +0 -1
- package/dist/performance/cache-performance.d.ts +0 -64
- package/dist/performance/cache-performance.d.ts.map +0 -1
- package/dist/performance/database-performance.d.ts +0 -40
- package/dist/performance/database-performance.d.ts.map +0 -1
- package/dist/performance/index.d.ts +0 -8
- package/dist/performance/index.d.ts.map +0 -1
- package/dist/performance/performance-monitor.d.ts +0 -68
- package/dist/performance/performance-monitor.d.ts.map +0 -1
- package/dist/performance/performance-monitor.plugin.d.ts +0 -24
- package/dist/performance/performance-monitor.plugin.d.ts.map +0 -1
- package/dist/performance/queue-performance.d.ts +0 -46
- package/dist/performance/queue-performance.d.ts.map +0 -1
- package/dist/performance/webserver-performance.d.ts +0 -69
- package/dist/performance/webserver-performance.d.ts.map +0 -1
- package/dist/performance/websocket-performance.d.ts +0 -44
- package/dist/performance/websocket-performance.d.ts.map +0 -1
- package/dist/queue/index.d.ts +0 -6
- package/dist/queue/index.d.ts.map +0 -1
- package/dist/queue/index.interface.d.ts +0 -10
- package/dist/queue/index.interface.d.ts.map +0 -1
- package/dist/queue/job.interface.d.ts +0 -42
- package/dist/queue/job.interface.d.ts.map +0 -1
- package/dist/queue/manager.d.ts +0 -36
- package/dist/queue/manager.d.ts.map +0 -1
- package/dist/queue/manager.interface.d.ts +0 -18
- package/dist/queue/manager.interface.d.ts.map +0 -1
- package/dist/queue/processor/base.d.ts +0 -28
- package/dist/queue/processor/base.d.ts.map +0 -1
- package/dist/queue/processor/processor.interface.d.ts +0 -15
- package/dist/queue/processor/processor.interface.d.ts.map +0 -1
- package/dist/queue/worker.d.ts +0 -14
- package/dist/queue/worker.d.ts.map +0 -1
- package/dist/queue/worker.interface.d.ts +0 -13
- package/dist/queue/worker.interface.d.ts.map +0 -1
- package/dist/redis/index.d.ts +0 -3
- package/dist/redis/index.d.ts.map +0 -1
- package/dist/redis/instance.d.ts +0 -32
- package/dist/redis/instance.d.ts.map +0 -1
- package/dist/redis/instance.interface.d.ts +0 -9
- package/dist/redis/instance.interface.d.ts.map +0 -1
- package/dist/redis/manager.d.ts +0 -15
- package/dist/redis/manager.d.ts.map +0 -1
- package/dist/redis/manager.interface.d.ts +0 -8
- package/dist/redis/manager.interface.d.ts.map +0 -1
- package/dist/request-context/index.d.ts +0 -3
- package/dist/request-context/index.d.ts.map +0 -1
- package/dist/request-context/request-context.d.ts +0 -108
- package/dist/request-context/request-context.d.ts.map +0 -1
- package/dist/request-context/request-context.interface.d.ts +0 -46
- package/dist/request-context/request-context.interface.d.ts.map +0 -1
- package/dist/services/aws/index.d.ts +0 -2
- package/dist/services/aws/index.d.ts.map +0 -1
- package/dist/services/aws/s3.d.ts +0 -54
- package/dist/services/aws/s3.d.ts.map +0 -1
- package/dist/services/aws/s3.interface.d.ts +0 -14
- package/dist/services/aws/s3.interface.d.ts.map +0 -1
- package/dist/services/index.d.ts +0 -2
- package/dist/services/index.d.ts.map +0 -1
- package/dist/util/file.d.ts +0 -58
- package/dist/util/file.d.ts.map +0 -1
- package/dist/util/helper.d.ts +0 -52
- package/dist/util/helper.d.ts.map +0 -1
- package/dist/util/image.d.ts +0 -12
- package/dist/util/image.d.ts.map +0 -1
- package/dist/util/index.d.ts +0 -11
- package/dist/util/index.d.ts.map +0 -1
- package/dist/util/loader.d.ts +0 -19
- package/dist/util/loader.d.ts.map +0 -1
- package/dist/util/num.d.ts +0 -13
- package/dist/util/num.d.ts.map +0 -1
- package/dist/util/os.d.ts +0 -6
- package/dist/util/os.d.ts.map +0 -1
- package/dist/util/str.d.ts +0 -39
- package/dist/util/str.d.ts.map +0 -1
- package/dist/util/time.d.ts +0 -19
- package/dist/util/time.d.ts.map +0 -1
- package/dist/util/time.interface.d.ts +0 -12
- package/dist/util/time.interface.d.ts.map +0 -1
- package/dist/util/timing.d.ts +0 -36
- package/dist/util/timing.d.ts.map +0 -1
- package/dist/util/timing.interface.d.ts +0 -47
- package/dist/util/timing.interface.d.ts.map +0 -1
- package/dist/util/url.d.ts +0 -7
- package/dist/util/url.d.ts.map +0 -1
- package/dist/webserver/controller/auth-middleware.d.ts +0 -21
- package/dist/webserver/controller/auth-middleware.d.ts.map +0 -1
- package/dist/webserver/controller/base.d.ts +0 -41
- package/dist/webserver/controller/base.d.ts.map +0 -1
- package/dist/webserver/controller/base.interface.d.ts +0 -47
- package/dist/webserver/controller/base.interface.d.ts.map +0 -1
- package/dist/webserver/controller/entity.d.ts +0 -94
- package/dist/webserver/controller/entity.d.ts.map +0 -1
- package/dist/webserver/controller/example-auth.d.ts +0 -12
- package/dist/webserver/controller/example-auth.d.ts.map +0 -1
- package/dist/webserver/controller/health.d.ts +0 -15
- package/dist/webserver/controller/health.d.ts.map +0 -1
- package/dist/webserver/index.d.ts +0 -12
- package/dist/webserver/index.d.ts.map +0 -1
- package/dist/webserver/util.d.ts +0 -10
- package/dist/webserver/util.d.ts.map +0 -1
- package/dist/webserver/webserver.d.ts +0 -79
- package/dist/webserver/webserver.d.ts.map +0 -1
- package/dist/webserver/webserver.interface.d.ts +0 -155
- package/dist/webserver/webserver.interface.d.ts.map +0 -1
- package/dist/websocket/controller/client/base.d.ts +0 -12
- package/dist/websocket/controller/client/base.d.ts.map +0 -1
- package/dist/websocket/controller/client/base.interface.d.ts +0 -12
- package/dist/websocket/controller/client/base.interface.d.ts.map +0 -1
- package/dist/websocket/controller/server/base.d.ts +0 -13
- package/dist/websocket/controller/server/base.d.ts.map +0 -1
- package/dist/websocket/controller/server/base.interface.d.ts +0 -13
- package/dist/websocket/controller/server/base.interface.d.ts.map +0 -1
- package/dist/websocket/controllers/client/system.d.ts +0 -6
- package/dist/websocket/controllers/client/system.d.ts.map +0 -1
- package/dist/websocket/controllers/server/system.d.ts +0 -7
- package/dist/websocket/controllers/server/system.d.ts.map +0 -1
- package/dist/websocket/index.d.ts +0 -7
- package/dist/websocket/index.d.ts.map +0 -1
- package/dist/websocket/routes/client/system.d.ts +0 -3
- package/dist/websocket/routes/client/system.d.ts.map +0 -1
- package/dist/websocket/routes/server/system.d.ts +0 -3
- package/dist/websocket/routes/server/system.d.ts.map +0 -1
- package/dist/websocket/utils.d.ts +0 -9
- package/dist/websocket/utils.d.ts.map +0 -1
- package/dist/websocket/websocket-base.d.ts +0 -15
- package/dist/websocket/websocket-base.d.ts.map +0 -1
- package/dist/websocket/websocket-client-manager.d.ts +0 -53
- package/dist/websocket/websocket-client-manager.d.ts.map +0 -1
- package/dist/websocket/websocket-client-manager.interface.d.ts +0 -8
- package/dist/websocket/websocket-client-manager.interface.d.ts.map +0 -1
- package/dist/websocket/websocket-client.d.ts +0 -35
- package/dist/websocket/websocket-client.d.ts.map +0 -1
- package/dist/websocket/websocket-client.interface.d.ts +0 -14
- package/dist/websocket/websocket-client.interface.d.ts.map +0 -1
- package/dist/websocket/websocket-room-manager.d.ts +0 -32
- package/dist/websocket/websocket-room-manager.d.ts.map +0 -1
- package/dist/websocket/websocket-server.d.ts +0 -92
- package/dist/websocket/websocket-server.d.ts.map +0 -1
- package/dist/websocket/websocket-server.interface.d.ts +0 -16
- package/dist/websocket/websocket-server.interface.d.ts.map +0 -1
- package/dist/websocket/websocket-service.d.ts +0 -44
- package/dist/websocket/websocket-service.d.ts.map +0 -1
- package/dist/websocket/websocket.interface.d.ts +0 -119
- package/dist/websocket/websocket.interface.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-room-manager.d.ts","sourceRoot":"","sources":["../../src/websocket/websocket-room-manager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,sBAAsB,MAAM,+BAA+B,CAAC;AAExE,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,OAAO,CAAC,aAAa,CAAyB;IAEvC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAa;gBAEvC,EAAE,aAAa,EAAE,EAAE;QAAE,aAAa,EAAE,sBAAsB,CAAA;KAAE;IAIjE,eAAe,CAAC,EACrB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,SAAS,GACV,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG,CAAC;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;IAwCM,oBAAoB,CAAC,EAC1B,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,EAAE;QACD,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;IA0CM,wBAAwB,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE;IAc3D,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAY7E,UAAU;IAqCV,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,EAAE;IAK5D,OAAO,IAAI,IAAI;CAKvB"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { WebSocketServer as WS, WebSocket } from 'ws';
|
|
2
|
-
import { type WebSocketRoute, type WebSocketType } from './websocket.interface.js';
|
|
3
|
-
import type RedisInstance from '../redis/instance.js';
|
|
4
|
-
import type QueueManager from '../queue/manager.js';
|
|
5
|
-
import type DatabaseInstance from '../database/instance.js';
|
|
6
|
-
import type { WebSocketServerProps } from './websocket-server.interface.js';
|
|
7
|
-
import WebSocketClientManager from './websocket-client-manager.js';
|
|
8
|
-
import WebSocketBase from './websocket-base.js';
|
|
9
|
-
import type { FastifyInstance } from 'fastify';
|
|
10
|
-
export default class WebSocketServer extends WebSocketBase {
|
|
11
|
-
protected defaultRoutes: WebSocketRoute[];
|
|
12
|
-
private server?;
|
|
13
|
-
private abortController;
|
|
14
|
-
private workerId;
|
|
15
|
-
private uniqueInstanceId;
|
|
16
|
-
private applicationConfig;
|
|
17
|
-
private options;
|
|
18
|
-
clientManager: WebSocketClientManager;
|
|
19
|
-
private roomManager;
|
|
20
|
-
get rooms(): Map<string, Set<string>>;
|
|
21
|
-
private redisInstance;
|
|
22
|
-
private queueManager;
|
|
23
|
-
private databaseInstance;
|
|
24
|
-
/** Redis subscriber events */
|
|
25
|
-
private redisSubscriberEvents;
|
|
26
|
-
constructor(props: WebSocketServerProps);
|
|
27
|
-
get type(): WebSocketType;
|
|
28
|
-
private validateWebSocketAuth;
|
|
29
|
-
load(): Promise<void>;
|
|
30
|
-
start({ fastifyServer }: {
|
|
31
|
-
fastifyServer: FastifyInstance;
|
|
32
|
-
}): Promise<{
|
|
33
|
-
server: WS;
|
|
34
|
-
}>;
|
|
35
|
-
stop(): Promise<void>;
|
|
36
|
-
protected getControllerDependencies(): {
|
|
37
|
-
webSocketServer: WebSocketServer;
|
|
38
|
-
redisInstance: RedisInstance;
|
|
39
|
-
queueManager: QueueManager;
|
|
40
|
-
databaseInstance: DatabaseInstance;
|
|
41
|
-
};
|
|
42
|
-
protected shouldPrintRoutes(): boolean;
|
|
43
|
-
private handleServerStart;
|
|
44
|
-
/**
|
|
45
|
-
* Handle subscriber message.
|
|
46
|
-
*/
|
|
47
|
-
private handleSubscriberMessage;
|
|
48
|
-
private handleServerError;
|
|
49
|
-
private handleServerClientConnection;
|
|
50
|
-
leaveRoom({ ws, roomName }: {
|
|
51
|
-
ws: WebSocket;
|
|
52
|
-
roomName: string;
|
|
53
|
-
}): void;
|
|
54
|
-
private onClientConnect;
|
|
55
|
-
private onClientDisconnect;
|
|
56
|
-
private handleServerClientDisconnection;
|
|
57
|
-
private handleClientMessage;
|
|
58
|
-
protected handleMessageError(clientId: string, error: string): void;
|
|
59
|
-
private checkInactiveClients;
|
|
60
|
-
broadcastToAllClients({ data, excludeClientId, }: {
|
|
61
|
-
data: {
|
|
62
|
-
[key: string]: any;
|
|
63
|
-
};
|
|
64
|
-
excludeClientId?: string;
|
|
65
|
-
}): void;
|
|
66
|
-
sendMessageError({ webSocketClientId, error }: {
|
|
67
|
-
webSocketClientId: string;
|
|
68
|
-
error: string;
|
|
69
|
-
}): void;
|
|
70
|
-
private onJoinRoom;
|
|
71
|
-
joinRoom({ ws, userId, userType, username, roomName, }: {
|
|
72
|
-
ws: WebSocket;
|
|
73
|
-
userId?: number;
|
|
74
|
-
userType?: string;
|
|
75
|
-
username?: string;
|
|
76
|
-
roomName: string;
|
|
77
|
-
}): Promise<true | undefined>;
|
|
78
|
-
sendClientMessage: (ws: WebSocket, data: unknown, binary?: boolean) => void;
|
|
79
|
-
sendMessage: ({ data }: {
|
|
80
|
-
data: unknown;
|
|
81
|
-
}) => void;
|
|
82
|
-
sendMessageToAll: ({ data }: {
|
|
83
|
-
data: unknown;
|
|
84
|
-
}) => void;
|
|
85
|
-
sendCustomMessage: ({ data }: {
|
|
86
|
-
data: unknown;
|
|
87
|
-
}) => void;
|
|
88
|
-
getClients({ userType }: {
|
|
89
|
-
userType?: string;
|
|
90
|
-
}): any[];
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=websocket-server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-server.d.ts","sourceRoot":"","sources":["../../src/websocket/websocket-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { ApplicationConfig } from '../application/base-application.interface.js';
|
|
2
|
-
import type DatabaseInstance from '../database/instance.js';
|
|
3
|
-
import type QueueManager from '../queue/manager.js';
|
|
4
|
-
import type { RedisInstance } from '../redis/index.js';
|
|
5
|
-
import type { WebSocketOptions, WebSocketRoute } from './websocket.interface.js';
|
|
6
|
-
export interface WebSocketServerProps {
|
|
7
|
-
uniqueInstanceId: string;
|
|
8
|
-
applicationConfig: ApplicationConfig;
|
|
9
|
-
options: WebSocketOptions;
|
|
10
|
-
redisInstance: RedisInstance;
|
|
11
|
-
queueManager: QueueManager;
|
|
12
|
-
databaseInstance: DatabaseInstance;
|
|
13
|
-
routes: WebSocketRoute[];
|
|
14
|
-
workerId: number | null;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=websocket-server.interface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-server.interface.d.ts","sourceRoot":"","sources":["../../src/websocket/websocket-server.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAEjF,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,EAAE,aAAa,CAAC;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import type WebSocketServer from './websocket-server.js';
|
|
2
|
-
import type RedisInstance from '../redis/instance.js';
|
|
3
|
-
export interface WebSocketMessage {
|
|
4
|
-
type: string;
|
|
5
|
-
action: string;
|
|
6
|
-
data?: any;
|
|
7
|
-
}
|
|
8
|
-
export interface WebSocketServiceOptions {
|
|
9
|
-
webSocketServer?: WebSocketServer;
|
|
10
|
-
redisInstance?: RedisInstance;
|
|
11
|
-
workerId?: string;
|
|
12
|
-
}
|
|
13
|
-
export declare class WebSocketService {
|
|
14
|
-
private webSocketServer?;
|
|
15
|
-
private redisInstance?;
|
|
16
|
-
private workerId?;
|
|
17
|
-
constructor(options?: WebSocketServiceOptions);
|
|
18
|
-
/**
|
|
19
|
-
* Send a message to all connected WebSocket clients
|
|
20
|
-
*/
|
|
21
|
-
broadcast(message: WebSocketMessage): Promise<void>;
|
|
22
|
-
/**
|
|
23
|
-
* Send a message to specific clients by their IDs
|
|
24
|
-
* Note: This requires direct access to WebSocket server and room functionality
|
|
25
|
-
*/
|
|
26
|
-
sendToClients(clientIds: string[], message: WebSocketMessage): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Send a message to all clients in specific rooms
|
|
29
|
-
*/
|
|
30
|
-
sendToRooms(roomNames: string[], message: WebSocketMessage): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Convenience method for sending user-targeted messages
|
|
33
|
-
*/
|
|
34
|
-
sendUserMessage(action: string, data: any): Promise<void>;
|
|
35
|
-
/**
|
|
36
|
-
* Convenience method for sending system messages
|
|
37
|
-
*/
|
|
38
|
-
sendSystemMessage(action: string, data: any): Promise<void>;
|
|
39
|
-
/**
|
|
40
|
-
* Convenience method for sending error messages
|
|
41
|
-
*/
|
|
42
|
-
sendErrorMessage(action: string, error: any): Promise<void>;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=websocket-service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-service.d.ts","sourceRoot":"","sources":["../../src/websocket/websocket-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAGtD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,CAAS;gBAEd,OAAO,GAAE,uBAA4B;IAMjD;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzD;;;OAGG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlF;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBhF;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjE;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAWlE"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import type { WebSocket, WebSocketServer } from 'ws';
|
|
2
|
-
import type DatabaseInstance from '../database/instance.js';
|
|
3
|
-
import type QueueManager from '../queue/manager.js';
|
|
4
|
-
import type RedisInstance from '../redis/instance.js';
|
|
5
|
-
import type { WebSocketServerBaseControllerType } from './controller/server/base.interface.js';
|
|
6
|
-
import type { WebSocketClientBaseControllerType } from './controller/client/base.interface.js';
|
|
7
|
-
export type WebSocketType = 'server' | 'client';
|
|
8
|
-
export interface WebSocketDebugOptions {
|
|
9
|
-
printRoutes?: boolean;
|
|
10
|
-
printConnectedClients?: 'simple' | 'table';
|
|
11
|
-
}
|
|
12
|
-
export interface WebSocketEventsConfig {
|
|
13
|
-
onServerStarted?: ({ webSocketServer }: {
|
|
14
|
-
webSocketServer: WebSocketServer;
|
|
15
|
-
}) => void;
|
|
16
|
-
onConnected?: ({ ws, clientId, joinRoom, }: {
|
|
17
|
-
ws: WebSocket;
|
|
18
|
-
clientId: string;
|
|
19
|
-
joinRoom({ userId, userType, username, roomName, }: {
|
|
20
|
-
userId?: string;
|
|
21
|
-
userType?: string;
|
|
22
|
-
username?: string;
|
|
23
|
-
roomName: string;
|
|
24
|
-
}): void;
|
|
25
|
-
}) => void;
|
|
26
|
-
onDisconnected?: ({ clientId }: {
|
|
27
|
-
clientId?: string;
|
|
28
|
-
}) => void;
|
|
29
|
-
onError?: ({ error }: {
|
|
30
|
-
error: Error;
|
|
31
|
-
}) => void;
|
|
32
|
-
onMessage?: ({ ws, clientId, data, redisInstance, queueManager, databaseInstance, }: {
|
|
33
|
-
ws: WebSocket;
|
|
34
|
-
clientId: string;
|
|
35
|
-
data: any;
|
|
36
|
-
redisInstance: RedisInstance;
|
|
37
|
-
queueManager: QueueManager;
|
|
38
|
-
databaseInstance: DatabaseInstance;
|
|
39
|
-
}) => void;
|
|
40
|
-
}
|
|
41
|
-
export interface WebSocketOptions {
|
|
42
|
-
/** WebSocket type */
|
|
43
|
-
type: WebSocketType;
|
|
44
|
-
/** WebSocket host */
|
|
45
|
-
host?: string;
|
|
46
|
-
/** WebSocket URL */
|
|
47
|
-
url: string;
|
|
48
|
-
/** WebSocket controllers directory */
|
|
49
|
-
controllersDirectory: string;
|
|
50
|
-
/** Disconnect inactive WebSocket clients configuration */
|
|
51
|
-
disconnectInactiveClients?: {
|
|
52
|
-
/** Whether to enable disconnection of inactive WebSocket clients */
|
|
53
|
-
enabled?: boolean;
|
|
54
|
-
/** Interval check time in milliseconds */
|
|
55
|
-
intervalCheckTime?: number;
|
|
56
|
-
/** Inactive time in milliseconds */
|
|
57
|
-
inactiveTime?: number;
|
|
58
|
-
/** Whether to log disconnection of inactive WebSocket clients */
|
|
59
|
-
log?: boolean;
|
|
60
|
-
};
|
|
61
|
-
rooms?: {
|
|
62
|
-
enabled?: boolean;
|
|
63
|
-
clientCanJoinMultipleRooms?: boolean;
|
|
64
|
-
};
|
|
65
|
-
/** WebSocket debug options */
|
|
66
|
-
debug?: WebSocketDebugOptions;
|
|
67
|
-
/** WebSocket events */
|
|
68
|
-
events?: WebSocketEventsConfig;
|
|
69
|
-
}
|
|
70
|
-
export interface WebSocketRoute {
|
|
71
|
-
/** WebSocket route type */
|
|
72
|
-
type: string;
|
|
73
|
-
/** WebSocket route controller name */
|
|
74
|
-
controllerName: string;
|
|
75
|
-
/** WebSocket route controller */
|
|
76
|
-
controller?: WebSocketServerBaseControllerType | WebSocketClientBaseControllerType;
|
|
77
|
-
/** WebSocket route action */
|
|
78
|
-
action: string;
|
|
79
|
-
}
|
|
80
|
-
export interface WebSocketConstructorParams {
|
|
81
|
-
/** WebSocket options */
|
|
82
|
-
options: WebSocketOptions;
|
|
83
|
-
/** WebSocket routes */
|
|
84
|
-
routes: WebSocketRoute[];
|
|
85
|
-
/** Redis instance */
|
|
86
|
-
redisInstance: RedisInstance;
|
|
87
|
-
/** Queue manager */
|
|
88
|
-
queueManager: QueueManager;
|
|
89
|
-
/** Database instance */
|
|
90
|
-
databaseInstance: DatabaseInstance;
|
|
91
|
-
}
|
|
92
|
-
export interface WebSocketConnectedClientData {
|
|
93
|
-
/** WebSocket client */
|
|
94
|
-
ws: WebSocket | null;
|
|
95
|
-
/** Last activity time */
|
|
96
|
-
lastActivity: number;
|
|
97
|
-
/** Client username */
|
|
98
|
-
username?: string;
|
|
99
|
-
}
|
|
100
|
-
export interface WebSocketMessageResponse {
|
|
101
|
-
error?: string;
|
|
102
|
-
}
|
|
103
|
-
export interface WebSocketMessageHandler {
|
|
104
|
-
(ws: WebSocket, clientId: string, data: any): WebSocketMessageResponse;
|
|
105
|
-
}
|
|
106
|
-
export declare enum WebSocketRedisSubscriberEvent {
|
|
107
|
-
ClientConnected = "clientConnected",
|
|
108
|
-
ClientDisconnected = "clientDisconnected",
|
|
109
|
-
DisconnectClient = "disconnectClient",
|
|
110
|
-
ClientJoinedRoom = "clientJoinedRoom",
|
|
111
|
-
ClientLeftRoom = "clientLeftRoom",
|
|
112
|
-
SendMessage = "sendMessage",
|
|
113
|
-
SendMessageToAll = "sendMessageToAll",
|
|
114
|
-
MessageError = "messageError",
|
|
115
|
-
QueueJobCompleted = "queueJobCompleted",
|
|
116
|
-
QueueJobError = "queueJobError",
|
|
117
|
-
Custom = "custom"
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=websocket.interface.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket.interface.d.ts","sourceRoot":"","sources":["../../src/websocket/websocket.interface.ts"],"names":[],"mappings":"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"}
|