From 886d07c1fc28488333d2eb2eafd2add96f537815 Mon Sep 17 00:00:00 2001 From: Mathias Wagner Date: Sat, 10 Jun 2023 03:11:46 +0200 Subject: [PATCH] Created the connection.js --- server/handler/connection.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 server/handler/connection.js diff --git a/server/handler/connection.js b/server/handler/connection.js new file mode 100644 index 0000000..7bb6fe8 --- /dev/null +++ b/server/handler/connection.js @@ -0,0 +1,30 @@ +const {connectUserToRoom, roomExists, disconnectUser} = require("../controller/room"); + +module.exports = (socket) => { + console.log(socket.id + " connected") + + socket.on("disconnect", () => { + console.log(socket.id + " disconnected"); + + disconnectUser(socket.id); + }); + + socket.on("join-room", ({roomId, name}) => { + if (roomExists(roomId.toString())) { + connectUserToRoom(roomId, {id: socket.id, name: name.toString()}); + socket.join(roomId); + socket.to(roomId).emit("user-connected", name.toString()); + socket.emit("room-joined", roomId); + } else { + socket.emit("room-not-found", roomId.toString()); + } + }); + + socket.on("create-room", ({name}) => { + const roomId = Math.random().toString(36).substring(7); + connectUserToRoom(roomId, {id: socket.id, name: name.toString()}); + socket.join(roomId); + socket.emit("room-created", roomId); + }); + +} \ No newline at end of file