Browse Source

Handle Room{Join,Leave}Response.

main
Titouan Rigoudy 4 years ago
parent
commit
d102ea9d40
1 changed files with 24 additions and 2 deletions
  1. +24
    -2
      src/modules/room/message.ts

+ 24
- 2
src/modules/room/message.ts View File

@ -50,7 +50,7 @@ function convertRoomListEntry(name: string, room: any): RoomState {
}; };
} }
function handleRoomListResponse(dispatch: AppDispatch, response) {
function handleRoomListResponse(dispatch: AppDispatch, response): void {
const { rooms } = response; const { rooms } = response;
if (rooms === undefined) { if (rooms === undefined) {
console.log("RoomListResponse has wrong shape:", response); console.log("RoomListResponse has wrong shape:", response);
@ -65,7 +65,7 @@ function handleRoomListResponse(dispatch: AppDispatch, response) {
dispatch(roomSetAll(map)); dispatch(roomSetAll(map));
} }
function handleRoomMessageResponse(dispatch: AppDispatch, response) {
function handleRoomMessageResponse(dispatch: AppDispatch, response): void {
dispatch( dispatch(
roomReceiveMessage({ roomReceiveMessage({
roomName: response.room_name, roomName: response.room_name,
@ -75,6 +75,24 @@ function handleRoomMessageResponse(dispatch: AppDispatch, response) {
); );
} }
function handleRoomJoinResponse(dispatch: AppDispatch, response): void {
dispatch(
roomSetMembership({
roomName: response.room_name,
membership: RoomMembership.Joined,
})
);
}
function handleRoomLeaveResponse(dispatch: AppDispatch, response): void {
dispatch(
roomSetMembership({
roomName: response.room_name,
membership: RoomMembership.Left,
})
);
}
function roomListRequest(): SocketMessage { function roomListRequest(): SocketMessage {
return "RoomListRequest"; return "RoomListRequest";
} }
@ -116,6 +134,10 @@ export const roomSocketMessageMiddleware: SocketMessageMiddleware = {
handleRoomListResponse(dispatch, message["RoomListResponse"]); handleRoomListResponse(dispatch, message["RoomListResponse"]);
} else if ("RoomMessageResponse" in message) { } else if ("RoomMessageResponse" in message) {
handleRoomMessageResponse(dispatch, message["RoomMessageResponse"]); handleRoomMessageResponse(dispatch, message["RoomMessageResponse"]);
} else if ("RoomJoinResponse" in message) {
handleRoomJoinResponse(dispatch, message["RoomJoinResponse"]);
} else if ("RoomLeaveResponse" in message) {
handleRoomLeaveResponse(dispatch, message["RoomLeaveResponse"]);
} }
}, },


Loading…
Cancel
Save