File tree Expand file tree Collapse file tree 2 files changed +24
-6
lines changed Expand file tree Collapse file tree 2 files changed +24
-6
lines changed Original file line number Diff line number Diff line change 1
1
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 ;
4
5
} ;
Original file line number Diff line number Diff line change @@ -9,17 +9,34 @@ export const createWs = (server: ReturnType<(typeof http)['createServer']>) => {
9
9
io . on ( 'connection' , ( socket ) => {
10
10
logger . info ( `${ socket . id } connected` ) ;
11
11
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 ) ;
16
21
} ) ;
17
22
// socket.on('create', (room) => {
18
23
// socket.join(room);
19
24
// });
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
+ } ) ;
20
34
socket . on ( 'leave' , ( room ) => {
21
35
socket . leave ( room ) ;
22
36
} ) ;
37
+ socket . on ( 'disconnect' , ( ) => {
38
+ logger . info ( `Client disconnected: ${ socket . id } ` ) ;
39
+ } ) ;
23
40
} ) ;
24
41
return io ;
25
42
} ;
You can’t perform that action at this time.
0 commit comments