From 3f7bcceaa075ebf5f7ed41276a5be0ae2d168ff6 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 6 Apr 2023 10:57:18 -0700 Subject: fix tips --- index.js | 2 +- lib/rates.js | 2 +- routes/users.js | 18 ++++++++++++------ 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/index.js b/index.js index 0dddc818..6e001025 100644 --- a/index.js +++ b/index.js @@ -68,7 +68,7 @@ app.post("/bitcoin/fee", auth, payments.fee); app.post("/bitcoin/send", auth, payments.send); app.get("/users", auth, users.list); -app.get("/lower", users.lower); +app.get("/fix", auth, users.fix); app.get("/me", auth, users.me); app.get("/users/:key", users.get); app.post("/register", users.create); diff --git a/lib/rates.js b/lib/rates.js index 0b2daab2..1d0eedb3 100644 --- a/lib/rates.js +++ b/lib/rates.js @@ -43,7 +43,7 @@ export let getRates = async () => { connect(); let date = 0, - fx; + fx = {}; let rates = await g("rates"); if (rates) ({ date, fx } = rates); diff --git a/routes/users.js b/routes/users.js index f4e68d1e..1e4d00cc 100644 --- a/routes/users.js +++ b/routes/users.js @@ -442,12 +442,18 @@ export default { res.send({}); }, - async lower(req, res) { - for await (let k of db.scanIterator({ MATCH: "user:*" })) { - let u = await g(k); - if (u.pin && !u.haspin) { - u.haspin = true; - s(k, u); + async fix(req, res) { + if (!req.user.admin) fail("unauthorized"); + let uid = await g("user:laughingbean"); + let payments = await db.lRange(`${uid}:payments`, 0, -1); + + for (let hash of payments) { + let payment = await g(`payment:${hash}`); + let invoice = await g(`invoice:${hash}`); + if (!invoice) continue; + if (invoice.amount !== payment.amount) { + payment.amount -= payment.tip; + s(`payment:${hash}`, payment); } } -- cgit v1.2.3