Server : Apache System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64 User : tradze ( 1001) PHP Version : 8.1.34 Disable Function : NONE Directory : /home/tradze/www/node-socket/Chats/ |
const { getUsers } = require("../sockets/index");
exports.sendMessage = async (req, res) => {
const data = req.body; // { sender_id, receiver_id, message, conversation_id }
console.log(data)
if (!data.sender_id || !data.receiver_id || !data.message) {
return res.status(400).json({ success: false, message: "Missing required fields" });
}
const io = req.io;
const users = await getUsers();
console.log(users)
// Emit to receiver
const receiverSocket = users[data.receiver_id];
if (receiverSocket) {
console.log('receiverSocket',receiverSocket);
io.to(receiverSocket).emit("newChatMessage", {
sender_name: data.sender_name,
sender_id: data.sender_id,
receiver_id: data.receiver_id,
message: data.message,
conversation_id: data.conversation_id,
avatar: data.avatar,
timestamp: new Date()
});
}
// Emit to sender (confirmation)
const senderSocket = users[data.sender_id];
if (senderSocket) {
console.log('sendersocket',senderSocket);
io.to(senderSocket).emit("newChatMessage", {
sender_name: data.sender_name,
sender_id: data.sender_id,
receiver_id: data.receiver_id,
message: data.message,
conversation_id: data.conversation_id,
avatar: data.avatar,
timestamp: new Date()
});
}
return res.json({ success: true, data });
};