Your IP : 216.73.216.91


Current Path : /var/node/inatote/Inatote-Backend/helpers/
Upload File :
Current File : /var/node/inatote/Inatote-Backend/helpers/web-socket.js

export default function makeWebSocket({ database }) {
    return function connection({ client }) {
        var users = []
        var dbUsers = []
        // event fired when the chat room is disconnected
        // client.on("disconnect", () => {
        //     //console.log("disconnect")
        //     users = users.filter((user) => user['socketID'] !== client.id);
        // });

        // client.on('identity', (userId) => {
        //     //console.log("identity")
        //     users.push({
        //         userId: userId,
        //         socketID: client.id
        //     })
        // })
        // add identity of user mapped to the socket id
        // client.on("onMessage", async (payload) => {
        //     //console.log("onMessage")

        //     // payload consist of from, to, message, orderID,
        //     // this object will be stored in database
        //     // {
        //     //     "orderID": orderId,
        //     //     "from": id,
        //     //     "to": id,
        //     //     "message": "asd",
        //     //     "socketID": client.id
        //     // }
        //     var toUser = await getUser(payload['to'])
        //     if (toUser == undefined) return

        //     var isLoggedIn = false
        //     for (var i = 0; i < users.length; i++) {

        //         if (users[i]['userId'] == payload['to']) {
        //             isLoggedIn = true
        //             // get respective users from thier ids fcm information for firebase push
        //             client.broadcast.to(users[i]['socketID']).emit('Recieved Message', payload);

        //         }
        //     }

        //     if (!isLoggedIn) {
        //         // firebase push initiate if user not connected
        //     }
        // });
    }

    async function getUser({ id }) {
        var dbuser = dbUsers.find((dbuser) => dbuser.userId == id)
        if (dbuser == undefined) {
            const userList = makeUserList({ database })
            dbuser = await userList.findById({ userId: users[i]['userId'] })
            dbUsers.push(dbuser)
        }

        return dbuser
    }
}