Sh3ll
OdayForums


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/public_html/node-socket/Chats/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/tradze/public_html/node-socket/Chats/messenger.controller.js
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 });

};

ZeroDay Forums Mini