aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-04-13 19:59:16 -0700
committerAdam Soltys <[email protected]>2020-04-13 19:59:16 -0700
commitc8c2b9df1c9f70a95673f436b7f1e14964a6744e (patch)
treeddd7a94104f5a21884e57d0f47272ca844e26e8f /routes
parentefc94656d47ee8ca3a83d95a4526e1dbc76a2218 (diff)
downloadcoinos-server-c8c2b9df1c9f70a95673f436b7f1e14964a6744e.tar.gz
coinos-server-c8c2b9df1c9f70a95673f436b7f1e14964a6744e.zip
getuser utility function
Diffstat (limited to 'routes')
-rw-r--r--routes/liquid/receive.js31
-rw-r--r--routes/users.js15
2 files changed, 31 insertions, 15 deletions
diff --git a/routes/liquid/receive.js b/routes/liquid/receive.js
index ff58f1c4..1a70c61c 100644
--- a/routes/liquid/receive.js
+++ b/routes/liquid/receive.js
@@ -59,7 +59,6 @@ zmqRawTx.on("message", async (topic, message, sequence) => {
where: params
});
- console.log("params", params);
if (account) {
account.pending += value;
await account.save();
@@ -127,13 +126,36 @@ setInterval(async () => {
let hash = arr[i];
let p = await db.Payment.findOne({
- include: [{ model: db.User, as: "user" }],
where: { hash, confirmed: 0, received: 1 }
});
- p.confirmed = 1;
+ const user = await db.User.findOne({
+ include: [
+ {
+ model: db.Payment,
+ as: "payments",
+ order: [["id", "DESC"]],
+ where: {
+ [Op.or]: {
+ received: true,
+ amount: {
+ [Op.lt]: 0,
+ },
+ },
+ },
+ limit: 12
+ },
+ {
+ model: db.Account,
+ as: "accounts",
+ },
+ ],
+ where: {
+ id: p.user_id
+ }
+ });
- let user = await p.getUser();
+ p.confirmed = 1;
const asset = await db.Account.findOne({
where: {
@@ -148,6 +170,7 @@ setInterval(async () => {
} else {
asset.balance += p.amount + p.tip;
asset.pending -= Math.min(user.pending, p.amount + p.tip);
+ await asset.save();
}
l.info("liquid confirmed", user.username, p.asset, p.amount, p.tip);
diff --git a/routes/users.js b/routes/users.js
index 83f8920e..7c9bce31 100644
--- a/routes/users.js
+++ b/routes/users.js
@@ -4,6 +4,7 @@ const jwt = require("jsonwebtoken");
const uuidv4 = require("uuid/v4");
const fb = "https://graph.facebook.com/";
const authenticator = require("otplib").authenticator;
+const { getUser } = require("../lib/utils");
const pick = (O, ...K) => K.reduce((o, k) => ((o[k] = O[k]), o), {});
let faucet = 1000;
@@ -182,7 +183,7 @@ app.post("/user", auth, async (req, res) => {
}
await user.save();
- emit(user.username, "user", req.user);
+ emit(user.username, "user", user);
res.send({ user, token });
} catch (e) {
l.error("error updating user", e);
@@ -193,11 +194,7 @@ app.post("/login", async (req, res) => {
let twofa = req.body.token;
try {
- let user = await db.User.findOne({
- where: {
- username: req.body.username
- }
- });
+ let user = await getUser(req.body.username);
if (
!user ||
@@ -239,11 +236,7 @@ app.post("/facebookLogin", async (req, res) => {
if (!check.data.data.is_valid) return res.status(401).end();
try {
- let user = await db.User.findOne({
- where: {
- username: req.body.userID
- }
- });
+ let user = await getUser(req.body.userID);
if (!user) {
user = await db.User.create(user);