From b0e279aff714164a01ece9d2d933e4649d3ad48c Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 5 Jan 2020 18:39:30 -0800 Subject: queue on-chain payments --- sockets.js | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) (limited to 'sockets.js') diff --git a/sockets.js b/sockets.js index a6f84073..09be6526 100644 --- a/sockets.js +++ b/sockets.js @@ -10,6 +10,19 @@ module.exports = (app, db, server) => { const socket = io(server, { origins: "*:*" }); const sids = {}; + const emit = (username, msg, data) => { + if (data.username !== undefined) data = pick(data, ...whitelist); + + if (!sids[username]) return; + sids[username].map((sid, i) => { + try { + socket.to(sid).emit(msg, data); + } catch (e) { + sids[username].splice(i, 1); + } + }); + }; + socket.use((socket, next) => { try { let token = socket.handshake.query.token; @@ -28,13 +41,15 @@ module.exports = (app, db, server) => { if (app.get("rates")) socket.emit("rate", app.get("rates").ask); socket.on("getuser", async (data, callback) => { /* eslint-disable-next-line */ - callback( + const user = await db.User.findOne({ + include: [{ model: db.Payment, as: "payments" }], where: { username: socket.request.user } }) - ); + + callback(user); }); socket.on("disconnect", s => { @@ -44,18 +59,5 @@ module.exports = (app, db, server) => { }); }); - const emit = (username, msg, data) => { - if (data.username !== undefined) data = pick(data, ...whitelist); - - if (!sids[username]) return; - sids[username].map((sid, i) => { - try { - socket.to(sid).emit(msg, data); - } catch (e) { - sids[username].splice(i, 1); - } - }); - }; - return [socket, emit]; }; -- cgit v1.2.3