From ed40224a26ed2656ebbbb187a3b76b7c88107afc Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sun, 29 Mar 2020 22:36:47 -0700 Subject: balances endpoint --- index.js | 1 + routes/balances.js | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 routes/balances.js diff --git a/index.js b/index.js index 369cf5ea..f876f631 100644 --- a/index.js +++ b/index.js @@ -24,6 +24,7 @@ require("./lib/sockets"); require("./lib/passport"); require("./lib/rates"); +require("./routes/balances"); require("./routes/invoices"); require("./routes/payments"); require("./routes/users"); diff --git a/routes/balances.js b/routes/balances.js new file mode 100644 index 00000000..75541730 --- /dev/null +++ b/routes/balances.js @@ -0,0 +1,19 @@ +const sequelize = require("sequelize"); + +app.get("/balances", async (req, res) => { + const balances = { + bitcoin: parseInt((await bc.getBalance()) * SATS), + liquid: parseInt((await lq.getBalance()).bitcoin * SATS), + channel: (await lna.channelBalance({})).balance, + wallet: (await lna.walletBalance({})).total_balance, + user: (await db['User'].findAll({ + attributes: [[sequelize.fn('sum', sequelize.col('balance')), 'total']], + raw: true, + order: sequelize.literal('total DESC') + }))[0].total, + }; + + const { bitcoin, liquid, channel, user, wallet } = balances; + balances.ratio = ((parseInt(bitcoin) + parseInt(liquid) + parseInt(channel) + parseInt(wallet))/parseInt(user)).toFixed(2); + res.send(balances); +}); -- cgit v1.2.3