aboutsummaryrefslogtreecommitdiffstats
path: root/routes/balances.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-04-17 11:07:58 -0700
committerAdam Soltys <[email protected]>2020-04-17 11:07:58 -0700
commita0e36844e119d3ea19a2c64e75bc5218aa8b4f96 (patch)
treeeab6ad46767aa2b4d0fc4546ba5c10f3c21b5a58 /routes/balances.js
parent474d96cc5c04cba55d67c53a8ff48b8468bc99a7 (diff)
downloadcoinos-server-a0e36844e119d3ea19a2c64e75bc5218aa8b4f96.tar.gz
coinos-server-a0e36844e119d3ea19a2c64e75bc5218aa8b4f96.zip
more stats
Diffstat (limited to 'routes/balances.js')
-rw-r--r--routes/balances.js41
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);
});