crm-api-template-generator/backend/utils/socketIO.js

36 lines
818 B
JavaScript

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 }