From b27eff40c3df2f0ea62df1df9c082bcd427e4a46 Mon Sep 17 00:00:00 2001 From: Raj Gahoi Date: Sat, 24 Oct 2026 20:21:42 +0530 Subject: [PATCH] fix(api): correct Express route signatures and add socket payload guards --- api/eslint.config.js | 2 +- api/index.js | 55 +++++++++++++++++++++++++------------------- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/api/eslint.config.js b/api/eslint.config.js index 2edbef8..3feb350 100644 --- a/api/eslint.config.js +++ b/api/eslint.config.js @@ -3,6 +3,6 @@ import pluginJs from "@eslint/js"; export default [ - {languageOptions: { globals: globals.browser }}, + {languageOptions: { globals: { ...globals.node, ...globals.browser } }}, pluginJs.configs.recommended, ]; \ No newline at end of file diff --git a/api/index.js b/api/index.js index 4303364..d8a4531 100644 --- a/api/index.js +++ b/api/index.js @@ -18,50 +18,57 @@ ysocketio.initialize(); app.use(cors({origin: '*'})) -app.get('/', ()=>{ - console.log('running') -}) +app.get('/', (req, res) => { + res.status(200).json({ status: "ok", message: "drawRTC server running" }); +}); -app.get('/test', (res) => { - res.send(JSON.stringify({ok: true})); -}) +app.get('/test', (req, res) => { + res.status(200).json({ ok: true }); +}); io.on('connection', (socket) => { - socket.on('joinRoom', ({room_id}) => { - socket.join(room_id); - console.log(`User ${socket.id} joined room ${room_id}`); - }) + socket.on('joinRoom', (data) => { + const roomId = data?.room_id; + if (!roomId) return; + socket.join(roomId); + console.log(`User ${socket.id} joined room ${roomId}`); + }); - socket.on('draw', (data)=>{ - const room = data.room_id; + socket.on('draw', (data) => { + const room = data?.room_id; + if (!room) return; socket.to(room).emit('draw', data); - }) + }); socket.on('clear', (data) => { - const room = data.room_id; + const room = data?.room_id; + if (!room) return; socket.to(room).emit('clear'); - }) + }); - socket.on('open-text-editor', data => { - const room = data.room_id; + socket.on('open-text-editor', (data) => { + const room = data?.room_id; + if (!room) return; socket.to(room).emit("open-text-editor", data); - }) + }); - socket.on('close-text-editor', data => { - const room = data.room_id; + socket.on('close-text-editor', (data) => { + const room = data?.room_id; + if (!room) return; socket.to(room).emit("close-text-editor", data); - }) + }); socket.on("text-updated", (data) => { - const room = data.room_id; + const room = data?.room_id; + if (!room) return; socket.to(room).emit("text-updated", data); }); socket.on("disconnect", () => { console.log(`${socket.id} disconnected`); - }) -}) + }); +}); server.listen(PORT, ()=>{ console.log(`server running on ${PORT}`)