2023-11-29 20:05:48 +00:00
|
|
|
|
|
|
|
|
|
|
|
const SocketIO = require('socket.io')
|
|
|
|
let io
|
|
|
|
|
|
|
|
const initIO = (httpServer) => {
|
|
|
|
io = SocketIO(httpServer, {
|
|
|
|
cors: {
|
2023-11-30 13:45:12 +00:00
|
|
|
origin: process.env.URL_OAUTH_FRONTEND_SUCCESS_REDIRECT
|
2023-11-29 20:05:48 +00:00
|
|
|
},
|
|
|
|
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}`)
|
2023-11-30 13:45:12 +00:00
|
|
|
});
|
2023-11-29 20:05:48 +00:00
|
|
|
|
|
|
|
socket.on("disconnect", (data) => {
|
|
|
|
console.log(`Client disconnected socket: ${data}`)
|
2023-11-30 13:45:12 +00:00
|
|
|
})
|
2023-11-29 20:05:48 +00:00
|
|
|
})
|
|
|
|
return io
|
|
|
|
}
|
|
|
|
|
|
|
|
const getIO = () => {
|
|
|
|
if (!io) {
|
|
|
|
throw new AppError("Socket IO not initialized")
|
|
|
|
}
|
|
|
|
return io
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = { initIO, getIO }
|