Skip to content

Commit 734a0f4

Browse files
authored
Merge pull request #49 from CS3219-AY2425S1/PEER-221-Matching-WS-Notifications
Match Notification WS Server (Success/Failure Notifs)
2 parents dbc7ec4 + 1efbc17 commit 734a0f4

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export const createNotifSocket = (userId: string) => {
2-
// TODO: Assign proper socket room
3-
return userId;
2+
const dateString = Date.now().toString(36);
3+
const roomId = `${userId}_${dateString}`;
4+
return roomId;
45
};

backend/matching/src/ws.ts

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,34 @@ export const createWs = (server: ReturnType<(typeof http)['createServer']>) => {
99
io.on('connection', (socket) => {
1010
logger.info(`${socket.id} connected`);
1111

12-
socket.on('joinRoom', (room) => {
13-
socket.join(room);
14-
logger.info(`Client joined room: ${room}`);
15-
socket.to(room).emit('message', `A new user has joined room: ${room}`);
12+
socket.on('joinRoom', (roomId) => {
13+
if (!roomId) {
14+
logger.warn('joinRoom event received without a roomId');
15+
return;
16+
}
17+
18+
socket.join(roomId);
19+
logger.info(`Socket ${socket.id} joined room: ${roomId}`);
20+
socket.emit('joinedRoom', roomId);
1621
});
1722
// socket.on('create', (room) => {
1823
// socket.join(room);
1924
// });
25+
socket.on('cancelRoom', (roomId) => {
26+
if (roomId) {
27+
io.in(roomId).socketsLeave(roomId);
28+
logger.info(`Room ${roomId} has been cancelled and closed.`);
29+
socket.emit('roomCancelled', roomId);
30+
} else {
31+
logger.warn('No room ID provided for cancellation');
32+
}
33+
});
2034
socket.on('leave', (room) => {
2135
socket.leave(room);
2236
});
37+
socket.on('disconnect', () => {
38+
logger.info(`Client disconnected: ${socket.id}`);
39+
});
2340
});
2441
return io;
2542
};

0 commit comments

Comments
 (0)