diff options
| author | Adam Soltys <[email protected]> | 2020-04-17 11:07:58 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-04-17 11:07:58 -0700 |
| commit | a0e36844e119d3ea19a2c64e75bc5218aa8b4f96 (patch) | |
| tree | eab6ad46767aa2b4d0fc4546ba5c10f3c21b5a58 /routes/balances.js | |
| parent | 474d96cc5c04cba55d67c53a8ff48b8468bc99a7 (diff) | |
| download | coinos-server-a0e36844e119d3ea19a2c64e75bc5218aa8b4f96.tar.gz coinos-server-a0e36844e119d3ea19a2c64e75bc5218aa8b4f96.zip | |
more stats
Diffstat (limited to 'routes/balances.js')
| -rw-r--r-- | routes/balances.js | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/routes/balances.js b/routes/balances.js index 75541730..895cc1ff 100644 --- a/routes/balances.js +++ b/routes/balances.js @@ -1,19 +1,42 @@ const sequelize = require("sequelize"); +const { Op } = sequelize; app.get("/balances", async (req, res) => { + const assets = await lq.getBalance(); + const accounts = await db.Account.findAll({ + attributes: [ + "asset", + [sequelize.fn("sum", sequelize.col("balance")), "total"] + ], + group: ["asset"], + where: { + asset: { + [Op.ne]: config.liquid.btcasset + } + } + }); + const balances = { + accounts, + assets, 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']], + liquid: parseInt(assets.bitcoin * SATS), + lnchannel: parseInt((await lna.channelBalance({})).balance), + lnwallet: parseInt((await lna.walletBalance({})).total_balance), + user: parseInt((await db["User"].findAll({ + attributes: [[sequelize.fn("sum", sequelize.col("balance")), "total"]], raw: true, - order: sequelize.literal('total DESC') - }))[0].total, + 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); + const { bitcoin, liquid, lnchannel, user, lnwallet } = balances; + balances.ratio = ( + (parseInt(bitcoin) + + parseInt(liquid) + + parseInt(lnchannel) + + parseInt(lnwallet)) / + parseInt(user) + ).toFixed(2); res.send(balances); }); |
