roomJoinHandler.ts
628 Bytes
import { ServerInboundMessage, ServerResponse } from "../../../common";
import { Connection } from "../../connection/Connection";
import { Room } from "../../room/Room";
import { RoomManager } from "../../room/RoomManager";
import { User } from "../../user/User";
export function roomJoinHandler(
connection: Connection,
message: ServerInboundMessage<"joinRoom">,
scope: Room
): ServerResponse<"joinRoom"> {
const room = RoomManager.instance().get(message.uuid);
if (room !== undefined) {
room.connect(user);
return { ok: user.room !== undefined, result: user.room?.getInfo() };
}
return { ok: false };
}