@baasix/baasix 0.1.36 → 0.1.38
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.
|
@@ -14,6 +14,35 @@ declare class SocketService {
|
|
|
14
14
|
private socketIdToUserId;
|
|
15
15
|
private customMessageHandlers;
|
|
16
16
|
private roomValidators;
|
|
17
|
+
private static readonly ROOM_HISTORY_LIMIT;
|
|
18
|
+
private roomMessageHistory;
|
|
19
|
+
private get useRedis();
|
|
20
|
+
/** Add / update a member in the room's member store */
|
|
21
|
+
private rRoomMemberSet;
|
|
22
|
+
/** Remove a member from the room's member store */
|
|
23
|
+
private rRoomMemberDel;
|
|
24
|
+
/** Check if a socket is in a room */
|
|
25
|
+
private rRoomMemberHas;
|
|
26
|
+
/** Get all members of a room as Map<socketId, meta> */
|
|
27
|
+
private rRoomMembersAll;
|
|
28
|
+
/** Number of members in a room */
|
|
29
|
+
private rRoomMemberCount;
|
|
30
|
+
/** Delete the entire room (all member keys + creator keys + history) */
|
|
31
|
+
private rRoomDestroy;
|
|
32
|
+
/** Get current creator socketId */
|
|
33
|
+
private rCreatorGet;
|
|
34
|
+
/** Set current creator socketId */
|
|
35
|
+
private rCreatorSet;
|
|
36
|
+
/** Delete current creator entry */
|
|
37
|
+
private rCreatorDel;
|
|
38
|
+
/** Get original creator userId */
|
|
39
|
+
private rOriginalCreatorGet;
|
|
40
|
+
/** Set original creator userId (only set once — NX) */
|
|
41
|
+
private rOriginalCreatorSet;
|
|
42
|
+
/** Append a message to history, trimming to ROOM_HISTORY_LIMIT */
|
|
43
|
+
private rHistoryPush;
|
|
44
|
+
/** Fetch all history entries for a room */
|
|
45
|
+
private rHistoryGet;
|
|
17
46
|
constructor();
|
|
18
47
|
initialize(server: HTTPServer): Promise<void>;
|
|
19
48
|
initializeRedisAdapter(): Promise<void>;
|
|
@@ -28,27 +57,29 @@ declare class SocketService {
|
|
|
28
57
|
collection: string;
|
|
29
58
|
}): void;
|
|
30
59
|
handleDisconnect(socket: SocketWithAuth): void;
|
|
60
|
+
private handleDisconnectRoomCleanup;
|
|
31
61
|
/**
|
|
32
62
|
* Handle a user joining a custom room
|
|
33
63
|
*/
|
|
34
|
-
handleRoomJoin(socket: SocketWithAuth, roomName: string): Promise<void>;
|
|
64
|
+
handleRoomJoin(socket: SocketWithAuth, roomName: string, metadata?: Record<string, any>): Promise<void>;
|
|
35
65
|
/**
|
|
36
66
|
* Handle a user leaving a custom room
|
|
37
67
|
*/
|
|
38
|
-
handleRoomLeave(socket: SocketWithAuth, roomName: string): void
|
|
68
|
+
handleRoomLeave(socket: SocketWithAuth, roomName: string): Promise<void>;
|
|
39
69
|
/**
|
|
40
70
|
* Handle a message sent to a custom room
|
|
41
71
|
*/
|
|
42
|
-
handleRoomMessage(socket: SocketWithAuth, roomName: string, event: string, payload: any): Promise<void>;
|
|
72
|
+
handleRoomMessage(socket: SocketWithAuth, roomName: string, event: string, payload: any, storeInHistory?: boolean): Promise<void>;
|
|
43
73
|
/**
|
|
44
74
|
* Return member list for a room. Only callable by current room members.
|
|
45
|
-
* Returns userId, socketId, and whether each member is the room creator.
|
|
75
|
+
* Returns userId, socketId, metadata, and whether each member is the room creator.
|
|
46
76
|
*/
|
|
47
|
-
handleRoomMembers(socket: SocketWithAuth, roomName: string): Array<{
|
|
77
|
+
handleRoomMembers(socket: SocketWithAuth, roomName: string): Promise<Array<{
|
|
48
78
|
socketId: string;
|
|
49
79
|
userId: string | number;
|
|
50
80
|
isCreator: boolean;
|
|
51
|
-
|
|
81
|
+
metadata: Record<string, any>;
|
|
82
|
+
}>>;
|
|
52
83
|
/**
|
|
53
84
|
* Kick a user from a custom room. Only the room creator may do this.
|
|
54
85
|
* All sockets belonging to the target user that are in the room will be removed.
|
|
@@ -110,21 +141,25 @@ declare class SocketService {
|
|
|
110
141
|
*/
|
|
111
142
|
sendToUser(userId: string | number, event: string, payload: any): void;
|
|
112
143
|
/**
|
|
113
|
-
* Get list of users in a custom room
|
|
144
|
+
* Get list of users in a custom room (server-side utility for extensions)
|
|
114
145
|
*/
|
|
115
|
-
getRoomMembers(roomName: string):
|
|
146
|
+
getRoomMembers(roomName: string): Promise<Array<{
|
|
147
|
+
socketId: string;
|
|
148
|
+
userId: string | number;
|
|
149
|
+
metadata: Record<string, any>;
|
|
150
|
+
}>>;
|
|
116
151
|
/**
|
|
117
152
|
* Get count of users in a custom room
|
|
118
153
|
*/
|
|
119
|
-
getRoomMemberCount(roomName: string): number
|
|
154
|
+
getRoomMemberCount(roomName: string): Promise<number>;
|
|
120
155
|
/**
|
|
121
156
|
* Check if a room exists
|
|
122
157
|
*/
|
|
123
|
-
roomExists(roomName: string): boolean
|
|
158
|
+
roomExists(roomName: string): Promise<boolean>;
|
|
124
159
|
/**
|
|
125
|
-
* Get all custom rooms
|
|
160
|
+
* Get all custom rooms with member counts
|
|
126
161
|
*/
|
|
127
|
-
getCustomRooms(): Map<string, number
|
|
162
|
+
getCustomRooms(): Promise<Map<string, number>>;
|
|
128
163
|
checkCollectionAccess(socket: SocketWithAuth, collection: string): Promise<boolean>;
|
|
129
164
|
getCollectionRoom(collection: string, tenantId?: string | number): string;
|
|
130
165
|
broadcastChange(collection: string, action: string, data: any, accountability?: any): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocketService.d.ts","sourceRoot":"","sources":["../../baasix/services/SocketService.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGlE,MAAM,MAAM,oBAAoB,GAAG,CACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,GAAG,EACT,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,KAC/B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAG1B,MAAM,MAAM,aAAa,GAAG,CAC1B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,KACb,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEhC,cAAM,aAAa;IACjB,OAAO,CAAC,EAAE,CAAuB;IACjC,OAAO,CAAC,WAAW,CAAgD;IACnE,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,eAAe,CAAsB;
|
|
1
|
+
{"version":3,"file":"SocketService.d.ts","sourceRoot":"","sources":["../../baasix/services/SocketService.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,12 +14,140 @@ class SocketService {
|
|
|
14
14
|
redisPublisher = null;
|
|
15
15
|
redisSubscriber = null;
|
|
16
16
|
// Custom room management
|
|
17
|
-
|
|
17
|
+
// roomName -> Map<socketId, memberMeta> (in-memory fallback)
|
|
18
|
+
customRooms = new Map();
|
|
18
19
|
roomCreators = new Map(); // roomName -> current creator's socketId
|
|
19
20
|
roomOriginalCreators = new Map(); // roomName -> original creator's userId (persistent)
|
|
20
21
|
socketIdToUserId = new Map(); // socketId -> userId (reverse lookup)
|
|
21
22
|
customMessageHandlers = new Map();
|
|
22
23
|
roomValidators = new Map();
|
|
24
|
+
// Message history per room — capped at ROOM_HISTORY_LIMIT entries
|
|
25
|
+
// Cleared automatically when the room is destroyed (last member leaves)
|
|
26
|
+
static ROOM_HISTORY_LIMIT = 200;
|
|
27
|
+
roomMessageHistory = new Map();
|
|
28
|
+
// ==========================================
|
|
29
|
+
// Redis-aware room storage helpers
|
|
30
|
+
// ==========================================
|
|
31
|
+
get useRedis() {
|
|
32
|
+
return !!(this.redisPublisher && this.redisSubscriber);
|
|
33
|
+
}
|
|
34
|
+
/** Add / update a member in the room's member store */
|
|
35
|
+
async rRoomMemberSet(roomName, socketId, meta) {
|
|
36
|
+
if (this.useRedis) {
|
|
37
|
+
await this.redisPublisher.hset(`room:${roomName}:members`, socketId, JSON.stringify(meta));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
if (!this.customRooms.has(roomName))
|
|
41
|
+
this.customRooms.set(roomName, new Map());
|
|
42
|
+
this.customRooms.get(roomName).set(socketId, meta);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** Remove a member from the room's member store */
|
|
46
|
+
async rRoomMemberDel(roomName, socketId) {
|
|
47
|
+
if (this.useRedis) {
|
|
48
|
+
await this.redisPublisher.hdel(`room:${roomName}:members`, socketId);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.customRooms.get(roomName)?.delete(socketId);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Check if a socket is in a room */
|
|
55
|
+
async rRoomMemberHas(roomName, socketId) {
|
|
56
|
+
if (this.useRedis) {
|
|
57
|
+
return (await this.redisPublisher.hexists(`room:${roomName}:members`, socketId)) === 1;
|
|
58
|
+
}
|
|
59
|
+
return this.customRooms.get(roomName)?.has(socketId) ?? false;
|
|
60
|
+
}
|
|
61
|
+
/** Get all members of a room as Map<socketId, meta> */
|
|
62
|
+
async rRoomMembersAll(roomName) {
|
|
63
|
+
if (this.useRedis) {
|
|
64
|
+
const raw = await this.redisPublisher.hgetall(`room:${roomName}:members`);
|
|
65
|
+
if (!raw || Object.keys(raw).length === 0)
|
|
66
|
+
return null;
|
|
67
|
+
const m = new Map();
|
|
68
|
+
for (const [k, v] of Object.entries(raw))
|
|
69
|
+
m.set(k, JSON.parse(v));
|
|
70
|
+
return m;
|
|
71
|
+
}
|
|
72
|
+
return this.customRooms.get(roomName) ?? null;
|
|
73
|
+
}
|
|
74
|
+
/** Number of members in a room */
|
|
75
|
+
async rRoomMemberCount(roomName) {
|
|
76
|
+
if (this.useRedis) {
|
|
77
|
+
return await this.redisPublisher.hlen(`room:${roomName}:members`);
|
|
78
|
+
}
|
|
79
|
+
return this.customRooms.get(roomName)?.size ?? 0;
|
|
80
|
+
}
|
|
81
|
+
/** Delete the entire room (all member keys + creator keys + history) */
|
|
82
|
+
async rRoomDestroy(roomName) {
|
|
83
|
+
if (this.useRedis) {
|
|
84
|
+
await this.redisPublisher.del(`room:${roomName}:members`, `room:${roomName}:creator`, `room:${roomName}:original_creator`, `room:${roomName}:history`);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.customRooms.delete(roomName);
|
|
88
|
+
this.roomCreators.delete(roomName);
|
|
89
|
+
this.roomOriginalCreators.delete(roomName);
|
|
90
|
+
this.roomMessageHistory.delete(roomName);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/** Get current creator socketId */
|
|
94
|
+
async rCreatorGet(roomName) {
|
|
95
|
+
if (this.useRedis)
|
|
96
|
+
return await this.redisPublisher.get(`room:${roomName}:creator`);
|
|
97
|
+
return this.roomCreators.get(roomName) ?? null;
|
|
98
|
+
}
|
|
99
|
+
/** Set current creator socketId */
|
|
100
|
+
async rCreatorSet(roomName, socketId) {
|
|
101
|
+
if (this.useRedis)
|
|
102
|
+
await this.redisPublisher.set(`room:${roomName}:creator`, socketId);
|
|
103
|
+
else
|
|
104
|
+
this.roomCreators.set(roomName, socketId);
|
|
105
|
+
}
|
|
106
|
+
/** Delete current creator entry */
|
|
107
|
+
async rCreatorDel(roomName) {
|
|
108
|
+
if (this.useRedis)
|
|
109
|
+
await this.redisPublisher.del(`room:${roomName}:creator`);
|
|
110
|
+
else
|
|
111
|
+
this.roomCreators.delete(roomName);
|
|
112
|
+
}
|
|
113
|
+
/** Get original creator userId */
|
|
114
|
+
async rOriginalCreatorGet(roomName) {
|
|
115
|
+
if (this.useRedis)
|
|
116
|
+
return await this.redisPublisher.get(`room:${roomName}:original_creator`);
|
|
117
|
+
const v = this.roomOriginalCreators.get(roomName);
|
|
118
|
+
return v !== undefined ? String(v) : null;
|
|
119
|
+
}
|
|
120
|
+
/** Set original creator userId (only set once — NX) */
|
|
121
|
+
async rOriginalCreatorSet(roomName, userId) {
|
|
122
|
+
if (this.useRedis)
|
|
123
|
+
await this.redisPublisher.setnx(`room:${roomName}:original_creator`, String(userId));
|
|
124
|
+
else if (!this.roomOriginalCreators.has(roomName))
|
|
125
|
+
this.roomOriginalCreators.set(roomName, userId);
|
|
126
|
+
}
|
|
127
|
+
/** Append a message to history, trimming to ROOM_HISTORY_LIMIT */
|
|
128
|
+
async rHistoryPush(roomName, record) {
|
|
129
|
+
if (this.useRedis) {
|
|
130
|
+
const key = `room:${roomName}:history`;
|
|
131
|
+
await this.redisPublisher.rpush(key, JSON.stringify(record));
|
|
132
|
+
await this.redisPublisher.ltrim(key, -SocketService.ROOM_HISTORY_LIMIT, -1);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
if (!this.roomMessageHistory.has(roomName))
|
|
136
|
+
this.roomMessageHistory.set(roomName, []);
|
|
137
|
+
const h = this.roomMessageHistory.get(roomName);
|
|
138
|
+
h.push(record);
|
|
139
|
+
if (h.length > SocketService.ROOM_HISTORY_LIMIT)
|
|
140
|
+
h.shift();
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/** Fetch all history entries for a room */
|
|
144
|
+
async rHistoryGet(roomName) {
|
|
145
|
+
if (this.useRedis) {
|
|
146
|
+
const items = await this.redisPublisher.lrange(`room:${roomName}:history`, 0, -1);
|
|
147
|
+
return items.map((i) => JSON.parse(i));
|
|
148
|
+
}
|
|
149
|
+
return this.roomMessageHistory.get(roomName) ?? [];
|
|
150
|
+
}
|
|
23
151
|
constructor() {
|
|
24
152
|
console.info("Socket Service instance created");
|
|
25
153
|
}
|
|
@@ -183,17 +311,18 @@ class SocketService {
|
|
|
183
311
|
// Handle custom room join
|
|
184
312
|
socket.on("room:join", async (data, callback) => {
|
|
185
313
|
try {
|
|
186
|
-
await this.handleRoomJoin(socket, data.room);
|
|
187
|
-
|
|
314
|
+
await this.handleRoomJoin(socket, data.room, data.metadata);
|
|
315
|
+
const history = await this.rHistoryGet(data.room);
|
|
316
|
+
callback?.({ status: "success", room: data.room, history });
|
|
188
317
|
}
|
|
189
318
|
catch (error) {
|
|
190
319
|
callback?.({ status: "error", message: error.message });
|
|
191
320
|
}
|
|
192
321
|
});
|
|
193
322
|
// Handle custom room leave
|
|
194
|
-
socket.on("room:leave", (data, callback) => {
|
|
323
|
+
socket.on("room:leave", async (data, callback) => {
|
|
195
324
|
try {
|
|
196
|
-
this.handleRoomLeave(socket, data.room);
|
|
325
|
+
await this.handleRoomLeave(socket, data.room);
|
|
197
326
|
callback?.({ status: "success", room: data.room });
|
|
198
327
|
}
|
|
199
328
|
catch (error) {
|
|
@@ -203,7 +332,7 @@ class SocketService {
|
|
|
203
332
|
// Handle custom room message (client -> server -> room)
|
|
204
333
|
socket.on("room:message", async (data, callback) => {
|
|
205
334
|
try {
|
|
206
|
-
await this.handleRoomMessage(socket, data.room, data.event, data.payload);
|
|
335
|
+
await this.handleRoomMessage(socket, data.room, data.event, data.payload, data.history ?? true);
|
|
207
336
|
callback?.({ status: "success" });
|
|
208
337
|
}
|
|
209
338
|
catch (error) {
|
|
@@ -211,9 +340,9 @@ class SocketService {
|
|
|
211
340
|
}
|
|
212
341
|
});
|
|
213
342
|
// Handle room members request — any room member can call this
|
|
214
|
-
socket.on("room:members", (data, callback) => {
|
|
343
|
+
socket.on("room:members", async (data, callback) => {
|
|
215
344
|
try {
|
|
216
|
-
const members = this.handleRoomMembers(socket, data.room);
|
|
345
|
+
const members = await this.handleRoomMembers(socket, data.room);
|
|
217
346
|
callback?.({ status: "success", members });
|
|
218
347
|
}
|
|
219
348
|
catch (error) {
|
|
@@ -286,15 +415,31 @@ class SocketService {
|
|
|
286
415
|
}
|
|
287
416
|
// Clean up reverse socket ID lookup
|
|
288
417
|
this.socketIdToUserId.delete(socket.id);
|
|
289
|
-
//
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
418
|
+
// Async cleanup — fire-and-forget (disconnect handler can't be async in Socket.IO)
|
|
419
|
+
this.handleDisconnectRoomCleanup(socket).catch((err) => console.error("Room cleanup error on disconnect:", err));
|
|
420
|
+
}
|
|
421
|
+
async handleDisconnectRoomCleanup(socket) {
|
|
422
|
+
// In-memory: iterate local map; Redis: we need to find rooms this socket was in.
|
|
423
|
+
// We track socket->rooms in socketIdToRooms for the Redis path.
|
|
424
|
+
const rooms = this.useRedis
|
|
425
|
+
? (await this.redisPublisher.smembers(`socket:${socket.id}:rooms`))
|
|
426
|
+
: Array.from(this.customRooms.keys()).filter((r) => this.customRooms.get(r)?.has(socket.id));
|
|
427
|
+
for (const roomName of rooms) {
|
|
428
|
+
await this.rRoomMemberDel(roomName, socket.id);
|
|
429
|
+
if (this.useRedis)
|
|
430
|
+
await this.redisPublisher.srem(`socket:${socket.id}:rooms`, roomName);
|
|
431
|
+
const count = await this.rRoomMemberCount(roomName);
|
|
432
|
+
if (count === 0) {
|
|
433
|
+
await this.rRoomDestroy(roomName);
|
|
434
|
+
}
|
|
435
|
+
else {
|
|
436
|
+
// Transfer creator if necessary
|
|
437
|
+
const creatorSocketId = await this.rCreatorGet(roomName);
|
|
438
|
+
if (creatorSocketId === socket.id) {
|
|
439
|
+
const members = await this.rRoomMembersAll(roomName);
|
|
440
|
+
const remaining = members ? Array.from(members.keys()) : [];
|
|
296
441
|
if (remaining.length > 0) {
|
|
297
|
-
this.
|
|
442
|
+
await this.rCreatorSet(roomName, remaining[0]);
|
|
298
443
|
this.io?.to(`room:${roomName}`).emit("room:creator:changed", {
|
|
299
444
|
room: roomName,
|
|
300
445
|
newCreatorSocketId: remaining[0],
|
|
@@ -303,22 +448,20 @@ class SocketService {
|
|
|
303
448
|
});
|
|
304
449
|
}
|
|
305
450
|
else {
|
|
306
|
-
this.
|
|
451
|
+
await this.rCreatorDel(roomName);
|
|
307
452
|
}
|
|
308
453
|
}
|
|
309
|
-
// Emit leave event to room
|
|
310
|
-
this.io?.to(`room:${roomName}`).emit("room:user:left", {
|
|
311
|
-
room: roomName,
|
|
312
|
-
userId: socket.userId,
|
|
313
|
-
socketId: socket.id,
|
|
314
|
-
timestamp: new Date().toISOString(),
|
|
315
|
-
});
|
|
316
|
-
// Clean up empty rooms
|
|
317
|
-
if (members.size === 0) {
|
|
318
|
-
this.customRooms.delete(roomName);
|
|
319
|
-
this.roomOriginalCreators.delete(roomName);
|
|
320
|
-
}
|
|
321
454
|
}
|
|
455
|
+
this.io?.to(`room:${roomName}`).emit("room:user:left", {
|
|
456
|
+
room: roomName,
|
|
457
|
+
userId: socket.userId,
|
|
458
|
+
socketId: socket.id,
|
|
459
|
+
timestamp: new Date().toISOString(),
|
|
460
|
+
});
|
|
461
|
+
}
|
|
462
|
+
// Clean up socket->rooms index in Redis
|
|
463
|
+
if (this.useRedis) {
|
|
464
|
+
await this.redisPublisher.del(`socket:${socket.id}:rooms`);
|
|
322
465
|
}
|
|
323
466
|
}
|
|
324
467
|
// ==========================================
|
|
@@ -327,7 +470,7 @@ class SocketService {
|
|
|
327
470
|
/**
|
|
328
471
|
* Handle a user joining a custom room
|
|
329
472
|
*/
|
|
330
|
-
async handleRoomJoin(socket, roomName) {
|
|
473
|
+
async handleRoomJoin(socket, roomName, metadata = {}) {
|
|
331
474
|
// Validate room name
|
|
332
475
|
if (!roomName || typeof roomName !== "string") {
|
|
333
476
|
throw new APIError("Invalid room name", 400);
|
|
@@ -342,26 +485,27 @@ class SocketService {
|
|
|
342
485
|
break;
|
|
343
486
|
}
|
|
344
487
|
}
|
|
345
|
-
// Add socket to
|
|
346
|
-
|
|
347
|
-
|
|
488
|
+
// Add socket to room member store (with metadata)
|
|
489
|
+
await this.rRoomMemberSet(roomName, socket.id, metadata);
|
|
490
|
+
// Track which rooms this socket is in (needed for fast Redis disconnect lookup)
|
|
491
|
+
if (this.useRedis) {
|
|
492
|
+
await this.redisPublisher.sadd(`socket:${socket.id}:rooms`, roomName);
|
|
348
493
|
}
|
|
349
|
-
this.
|
|
350
|
-
if (!
|
|
351
|
-
// First joiner
|
|
352
|
-
this.
|
|
353
|
-
this.
|
|
494
|
+
const creatorSocketId = await this.rCreatorGet(roomName);
|
|
495
|
+
if (!creatorSocketId) {
|
|
496
|
+
// First joiner — becomes both current and original creator
|
|
497
|
+
await this.rCreatorSet(roomName, socket.id);
|
|
498
|
+
await this.rOriginalCreatorSet(roomName, socket.userId);
|
|
354
499
|
}
|
|
355
500
|
else {
|
|
356
501
|
// Room already exists — check if the original creator is rejoining
|
|
357
|
-
const originalCreatorId = this.
|
|
358
|
-
const
|
|
359
|
-
|
|
360
|
-
if (originalCreatorId !== undefined &&
|
|
502
|
+
const originalCreatorId = await this.rOriginalCreatorGet(roomName);
|
|
503
|
+
const currentCreatorUserId = this.socketIdToUserId.get(creatorSocketId);
|
|
504
|
+
if (originalCreatorId !== null &&
|
|
361
505
|
String(socket.userId) === String(originalCreatorId) &&
|
|
362
506
|
String(socket.userId) !== String(currentCreatorUserId)) {
|
|
363
507
|
// Restore original creator's ownership
|
|
364
|
-
this.
|
|
508
|
+
await this.rCreatorSet(roomName, socket.id);
|
|
365
509
|
this.io?.to(`room:${roomName}`).emit("room:creator:changed", {
|
|
366
510
|
room: roomName,
|
|
367
511
|
newCreatorSocketId: socket.id,
|
|
@@ -378,25 +522,35 @@ class SocketService {
|
|
|
378
522
|
room: roomName,
|
|
379
523
|
userId: socket.userId,
|
|
380
524
|
socketId: socket.id,
|
|
525
|
+
metadata,
|
|
381
526
|
timestamp: new Date().toISOString(),
|
|
382
527
|
});
|
|
383
528
|
}
|
|
384
529
|
/**
|
|
385
530
|
* Handle a user leaving a custom room
|
|
386
531
|
*/
|
|
387
|
-
handleRoomLeave(socket, roomName) {
|
|
532
|
+
async handleRoomLeave(socket, roomName) {
|
|
388
533
|
if (!roomName || typeof roomName !== "string") {
|
|
389
534
|
throw new APIError("Invalid room name", 400);
|
|
390
535
|
}
|
|
391
|
-
|
|
392
|
-
if (
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
536
|
+
const isMember = await this.rRoomMemberHas(roomName, socket.id);
|
|
537
|
+
if (!isMember)
|
|
538
|
+
return;
|
|
539
|
+
await this.rRoomMemberDel(roomName, socket.id);
|
|
540
|
+
if (this.useRedis)
|
|
541
|
+
await this.redisPublisher.srem(`socket:${socket.id}:rooms`, roomName);
|
|
542
|
+
const count = await this.rRoomMemberCount(roomName);
|
|
543
|
+
if (count === 0) {
|
|
544
|
+
await this.rRoomDestroy(roomName);
|
|
545
|
+
}
|
|
546
|
+
else {
|
|
547
|
+
// Transfer creator role if the leaving socket was the room owner
|
|
548
|
+
const creatorSocketId = await this.rCreatorGet(roomName);
|
|
549
|
+
if (creatorSocketId === socket.id) {
|
|
550
|
+
const members = await this.rRoomMembersAll(roomName);
|
|
551
|
+
const remaining = members ? Array.from(members.keys()) : [];
|
|
397
552
|
if (remaining.length > 0) {
|
|
398
|
-
this.
|
|
399
|
-
// Notify room of ownership change
|
|
553
|
+
await this.rCreatorSet(roomName, remaining[0]);
|
|
400
554
|
this.io?.to(`room:${roomName}`).emit("room:creator:changed", {
|
|
401
555
|
room: roomName,
|
|
402
556
|
newCreatorSocketId: remaining[0],
|
|
@@ -405,13 +559,9 @@ class SocketService {
|
|
|
405
559
|
});
|
|
406
560
|
}
|
|
407
561
|
else {
|
|
408
|
-
this.
|
|
562
|
+
await this.rCreatorDel(roomName);
|
|
409
563
|
}
|
|
410
564
|
}
|
|
411
|
-
if (this.customRooms.get(roomName).size === 0) {
|
|
412
|
-
this.customRooms.delete(roomName);
|
|
413
|
-
this.roomOriginalCreators.delete(roomName);
|
|
414
|
-
}
|
|
415
565
|
}
|
|
416
566
|
// Leave the Socket.IO room
|
|
417
567
|
socket.leave(`room:${roomName}`);
|
|
@@ -427,35 +577,39 @@ class SocketService {
|
|
|
427
577
|
/**
|
|
428
578
|
* Handle a message sent to a custom room
|
|
429
579
|
*/
|
|
430
|
-
async handleRoomMessage(socket, roomName, event, payload) {
|
|
580
|
+
async handleRoomMessage(socket, roomName, event, payload, storeInHistory = true) {
|
|
431
581
|
if (!roomName || typeof roomName !== "string") {
|
|
432
582
|
throw new APIError("Invalid room name", 400);
|
|
433
583
|
}
|
|
434
584
|
// Check if the socket is in the room
|
|
435
|
-
if (!
|
|
585
|
+
if (!(await this.rRoomMemberHas(roomName, socket.id))) {
|
|
436
586
|
throw new APIError("Not a member of this room", 403);
|
|
437
587
|
}
|
|
438
|
-
|
|
439
|
-
this.io?.to(`room:${roomName}`).emit(`room:${event}`, {
|
|
440
|
-
room: roomName,
|
|
588
|
+
const record = {
|
|
441
589
|
event,
|
|
442
590
|
payload,
|
|
443
|
-
sender: {
|
|
444
|
-
userId: socket.userId,
|
|
445
|
-
socketId: socket.id,
|
|
446
|
-
},
|
|
591
|
+
sender: { userId: socket.userId, socketId: socket.id },
|
|
447
592
|
timestamp: new Date().toISOString(),
|
|
593
|
+
};
|
|
594
|
+
// Broadcast to all room members (including sender)
|
|
595
|
+
this.io?.to(`room:${roomName}`).emit(`room:${event}`, {
|
|
596
|
+
room: roomName,
|
|
597
|
+
...record,
|
|
448
598
|
});
|
|
599
|
+
// Append to history only if requested
|
|
600
|
+
if (storeInHistory) {
|
|
601
|
+
await this.rHistoryPush(roomName, record);
|
|
602
|
+
}
|
|
449
603
|
}
|
|
450
604
|
/**
|
|
451
605
|
* Return member list for a room. Only callable by current room members.
|
|
452
|
-
* Returns userId, socketId, and whether each member is the room creator.
|
|
606
|
+
* Returns userId, socketId, metadata, and whether each member is the room creator.
|
|
453
607
|
*/
|
|
454
|
-
handleRoomMembers(socket, roomName) {
|
|
608
|
+
async handleRoomMembers(socket, roomName) {
|
|
455
609
|
if (!roomName || typeof roomName !== "string") {
|
|
456
610
|
throw new APIError("Invalid room name", 400);
|
|
457
611
|
}
|
|
458
|
-
const members = this.
|
|
612
|
+
const members = await this.rRoomMembersAll(roomName);
|
|
459
613
|
if (!members) {
|
|
460
614
|
throw new APIError("Room not found", 404);
|
|
461
615
|
}
|
|
@@ -463,11 +617,12 @@ class SocketService {
|
|
|
463
617
|
if (!members.has(socket.id)) {
|
|
464
618
|
throw new APIError("Not a member of this room", 403);
|
|
465
619
|
}
|
|
466
|
-
const creatorSocketId = this.
|
|
467
|
-
return Array.from(members).map((socketId) => ({
|
|
620
|
+
const creatorSocketId = await this.rCreatorGet(roomName);
|
|
621
|
+
return Array.from(members.entries()).map(([socketId, metadata]) => ({
|
|
468
622
|
socketId,
|
|
469
623
|
userId: this.socketIdToUserId.get(socketId) ?? socketId,
|
|
470
624
|
isCreator: socketId === creatorSocketId,
|
|
625
|
+
metadata,
|
|
471
626
|
}));
|
|
472
627
|
}
|
|
473
628
|
/**
|
|
@@ -478,12 +633,13 @@ class SocketService {
|
|
|
478
633
|
if (!roomName || typeof roomName !== "string") {
|
|
479
634
|
throw new APIError("Invalid room name", 400);
|
|
480
635
|
}
|
|
481
|
-
const members = this.
|
|
636
|
+
const members = await this.rRoomMembersAll(roomName);
|
|
482
637
|
if (!members) {
|
|
483
638
|
throw new APIError("Room not found", 404);
|
|
484
639
|
}
|
|
485
640
|
// Only the room creator may kick
|
|
486
|
-
|
|
641
|
+
const creatorSocketId = await this.rCreatorGet(roomName);
|
|
642
|
+
if (creatorSocketId !== socket.id) {
|
|
487
643
|
throw new APIError("Only the room creator can kick users", 403);
|
|
488
644
|
}
|
|
489
645
|
// A creator cannot kick themselves
|
|
@@ -497,7 +653,9 @@ class SocketService {
|
|
|
497
653
|
let kicked = false;
|
|
498
654
|
for (const targetSocket of targetSockets) {
|
|
499
655
|
if (members.has(targetSocket.id)) {
|
|
500
|
-
|
|
656
|
+
await this.rRoomMemberDel(roomName, targetSocket.id);
|
|
657
|
+
if (this.useRedis)
|
|
658
|
+
await this.redisPublisher.srem(`socket:${targetSocket.id}:rooms`, roomName);
|
|
501
659
|
targetSocket.leave(`room:${roomName}`);
|
|
502
660
|
// Tell the kicked socket it was removed
|
|
503
661
|
targetSocket.emit("room:kicked", {
|
|
@@ -519,10 +677,9 @@ class SocketService {
|
|
|
519
677
|
throw new APIError("Target user is not in this room", 404);
|
|
520
678
|
}
|
|
521
679
|
// Clean up empty room
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
this.
|
|
525
|
-
this.roomOriginalCreators.delete(roomName);
|
|
680
|
+
const remaining = await this.rRoomMemberCount(roomName);
|
|
681
|
+
if (remaining === 0) {
|
|
682
|
+
await this.rRoomDestroy(roomName);
|
|
526
683
|
}
|
|
527
684
|
}
|
|
528
685
|
/**
|
|
@@ -636,30 +793,47 @@ class SocketService {
|
|
|
636
793
|
}
|
|
637
794
|
}
|
|
638
795
|
/**
|
|
639
|
-
* Get list of users in a custom room
|
|
796
|
+
* Get list of users in a custom room (server-side utility for extensions)
|
|
640
797
|
*/
|
|
641
|
-
getRoomMembers(roomName) {
|
|
642
|
-
|
|
798
|
+
async getRoomMembers(roomName) {
|
|
799
|
+
const members = await this.rRoomMembersAll(roomName);
|
|
800
|
+
if (!members)
|
|
801
|
+
return [];
|
|
802
|
+
return Array.from(members.entries()).map(([socketId, metadata]) => ({
|
|
803
|
+
socketId,
|
|
804
|
+
userId: this.socketIdToUserId.get(socketId) ?? socketId,
|
|
805
|
+
metadata,
|
|
806
|
+
}));
|
|
643
807
|
}
|
|
644
808
|
/**
|
|
645
809
|
* Get count of users in a custom room
|
|
646
810
|
*/
|
|
647
|
-
getRoomMemberCount(roomName) {
|
|
648
|
-
return this.
|
|
811
|
+
async getRoomMemberCount(roomName) {
|
|
812
|
+
return this.rRoomMemberCount(roomName);
|
|
649
813
|
}
|
|
650
814
|
/**
|
|
651
815
|
* Check if a room exists
|
|
652
816
|
*/
|
|
653
|
-
roomExists(roomName) {
|
|
654
|
-
return
|
|
817
|
+
async roomExists(roomName) {
|
|
818
|
+
return (await this.rRoomMemberCount(roomName)) > 0;
|
|
655
819
|
}
|
|
656
820
|
/**
|
|
657
|
-
* Get all custom rooms
|
|
821
|
+
* Get all custom rooms with member counts
|
|
658
822
|
*/
|
|
659
|
-
getCustomRooms() {
|
|
823
|
+
async getCustomRooms() {
|
|
660
824
|
const rooms = new Map();
|
|
661
|
-
|
|
662
|
-
|
|
825
|
+
if (this.useRedis) {
|
|
826
|
+
// Scan for all room member keys
|
|
827
|
+
const keys = await this.redisPublisher.keys("room:*:members");
|
|
828
|
+
for (const key of keys) {
|
|
829
|
+
const name = key.replace(/^room:/, "").replace(/:members$/, "");
|
|
830
|
+
rooms.set(name, await this.redisPublisher.hlen(key));
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
else {
|
|
834
|
+
for (const [name, members] of this.customRooms.entries()) {
|
|
835
|
+
rooms.set(name, members.size);
|
|
836
|
+
}
|
|
663
837
|
}
|
|
664
838
|
return rooms;
|
|
665
839
|
}
|
|
@@ -735,19 +909,19 @@ class SocketService {
|
|
|
735
909
|
registeredHandlers: 0,
|
|
736
910
|
};
|
|
737
911
|
}
|
|
738
|
-
// Build custom rooms summary
|
|
912
|
+
// Build custom rooms summary (in-memory only; Redis path is async so omitted here)
|
|
739
913
|
const customRoomsSummary = {};
|
|
740
914
|
for (const [name, members] of this.customRooms.entries()) {
|
|
741
915
|
customRoomsSummary[name] = members.size;
|
|
742
916
|
}
|
|
743
917
|
return {
|
|
744
|
-
status:
|
|
918
|
+
status: this.useRedis ? "redis" : "in-memory",
|
|
745
919
|
totalConnections: this.io.engine.clientsCount,
|
|
746
920
|
uniqueUsers: this.userSockets.size,
|
|
747
921
|
rooms: this.io.sockets.adapter.rooms,
|
|
748
922
|
customRooms: {
|
|
749
|
-
count: this.customRooms.size,
|
|
750
|
-
rooms: customRoomsSummary,
|
|
923
|
+
count: this.useRedis ? "(see Redis)" : this.customRooms.size,
|
|
924
|
+
rooms: this.useRedis ? "(see Redis)" : customRoomsSummary,
|
|
751
925
|
},
|
|
752
926
|
registeredHandlers: Array.from(this.customMessageHandlers.keys()),
|
|
753
927
|
registeredValidators: Array.from(this.roomValidators.keys()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SocketService.js","sourceRoot":"","sources":["../../baasix/services/SocketService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SocketService.js","sourceRoot":"","sources":["../../baasix/services/SocketService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baasix/baasix",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.38",
|
|
4
4
|
"description": "Baasix - Backend-as-a-Service with 40+ tools for schema management, CRUD operations with 50+ filter operators, relationships, permissions, files, workflows, and more",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|