diff options
| -rw-r--r-- | index.js | 1 | ||||
| -rw-r--r-- | routes/balances.js | 19 |
2 files changed, 20 insertions, 0 deletions
@@ -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); +}); |
