const SocketIO = require('socket.io') let io const initIO = (httpServer) => { io = SocketIO(httpServer, { cors: { origin: process.env.URL_OAUTH_FRONTEND_SUCCESS_REDIRECT }, maxHttpBufferSize: 1e8 }) io.on("connection", socket => { console.log('CLIENT CONNECTED') socket.on("companySession", (companyId) => { console.log(`A client joined a companySession channel: ${companyId}`) socket.join(`company_${companyId}`) }); socket.on("disconnect", (data) => { console.log(`Client disconnected socket: ${data}`) }) }) return io } const getIO = () => { if (!io) { throw new AppError("Socket IO not initialized") } return io } module.exports = { initIO, getIO }