leave room

This commit is contained in:
2025-12-13 09:16:18 +03:30
parent 3bd51b89bf
commit c5c71491a4
2 changed files with 12 additions and 2 deletions
+2
View File
@@ -54,3 +54,5 @@ pids
# Diagnostic reports (https://nodejs.org/api/report.html) # Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
/react/*
@@ -52,6 +52,7 @@ export class NotificationsGateway implements OnGatewayConnection, OnGatewayDisco
handleDisconnect(client: Socket) { handleDisconnect(client: Socket) {
this.logger.log(`Client disconnected: ${client.id}`); this.logger.log(`Client disconnected: ${client.id}`);
this.handleLeaveRoom(client);
} }
sendInAppNotification(repipient: { adminId: string; restaurantId: string }, payload: IInAppNotificationPayload) { sendInAppNotification(repipient: { adminId: string; restaurantId: string }, payload: IInAppNotificationPayload) {
@@ -64,6 +65,13 @@ export class NotificationsGateway implements OnGatewayConnection, OnGatewayDisco
private getRoom(adminId: string, restaurantId: string) { private getRoom(adminId: string, restaurantId: string) {
return `restaurant:${restaurantId}-admin:${adminId}`; return `restaurant:${restaurantId}-admin:${adminId}`;
} }
handleLeaveRoom(client: AuthenticatedSocket) {
const room = this.getRoom(client.adminId!, client.restId!);
void client.leave(room);
this.logger.log(`Admin ${client.adminId} (Client ${client.id}) left room: ${room}`);
void client.emit('left', { room, message: 'Successfully Admin left room' });
}
/** /**
* Join a room for a specific restaurant (admin/staff) * Join a room for a specific restaurant (admin/staff)
* Requires admin authentication via JWT token * Requires admin authentication via JWT token