diff options
| author | Adam Soltys <[email protected]> | 2020-03-29 22:36:47 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-03-29 22:39:19 -0700 |
| commit | ed40224a26ed2656ebbbb187a3b76b7c88107afc (patch) | |
| tree | 047e511eef09ccd2f565de22acca63bc3b85d44e | |
| parent | a4f7fa1ddeabe6bfedd78e48c11f8fc88131bfec (diff) | |
| download | coinos-server-ed40224a26ed2656ebbbb187a3b76b7c88107afc.tar.gz coinos-server-ed40224a26ed2656ebbbb187a3b76b7c88107afc.zip | |
balances endpoint
| -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); +}); |
