UNPKG

chatstorm

Version:

ChatStorm - Real-Time Chat Server for Your App. ChatStorm is a powerful, lightning-fast Socket.io-based chat server that enables seamless real-time messaging in your application. Whether you're building a messaging app, live chat feature, or a collaborati

60 lines (55 loc) 1.82 kB
const socketIo = require("socket.io"); const socketController = require("./controller"); const animatelogger = require("../Config/rainbow"); require("dotenv").config(); module.exports = async (server) => { const io = socketIo(server, { cors: { origin: "*", methods: ["GET", "POST"], allowHeaders: ["Authorization"], credentials: true, }, }); animatelogger("Socket are connected successfully"); io.use(socketController.validateUser); io.on("connection", (Socket) => { Socket.on("joinchat", async (data) => socketController.joinChat(Socket, io, data) ); Socket.on("get_chatlist", async (data) => socketController.getChatlist(Socket, io, data) ); Socket.on("chat_message", async (data) => socketController.getOldChat(Socket, io, data) ); Socket.on("send_message", async (data) => socketController.sendMessage(Socket, io, data) ); Socket.on("delete_message", async (data) => socketController.deleteMessage(Socket, io, data) ); Socket.on("user_typing", async (data) => socketController.updateTypingAlert(Socket, io, data) ); // Video call routes Socket.on("call-user", async (data) => socketController.calltoUser(Socket, io, data) ); Socket.on("ice-candidate", async (data) => socketController.handleCandidate(Socket, io, data) ); Socket.on("answer-call", async (data) => socketController.AnswerCall(Socket, io, data) ); Socket.on("reject-call", async (data) => socketController.rejectCall(Socket, io, data) ); Socket.on("leave-call", async (data) => socketController.leaveCall(Socket, io, data) ); Socket.on("disconnect_user", async (data) => socketController.disconnectHandshake(Socket, io, data) ); }); };