From 204cf9ed18e4c643ebb4ec64439ac0c6afb1d1de Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 8 Feb 2023 10:19:21 -0800 Subject: don't return empty pots --- lib/invoices.js | 11 +++++++---- lib/whitelist.js | 1 + routes/payments.js | 1 + routes/requests.js | 7 ++++++- routes/users.js | 1 + 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/lib/invoices.js b/lib/invoices.js index 4a09f44b..dc475a9c 100644 --- a/lib/invoices.js +++ b/lib/invoices.js @@ -64,11 +64,14 @@ export let generate = async ({ invoice, user, sender }) => { if (request_id) { let request = await g(`request:${request_id}`); - let { invoice_id: prev } = request; - request.invoice_id = invoice.id; - await s(`request:${request_id}`, request); + if (request) { + let { invoice_id: prev } = request; + request.invoice_id = hash; + await s(`request:${request_id}`, request); + console.log("OHSNAP", request) - if (!prev) emit(request.requester.username, "invoice", invoice); + if (!prev) emit(request.requester_id, "invoice", invoice); + } } return invoice; diff --git a/lib/whitelist.js b/lib/whitelist.js index 850dffc0..9b2225e2 100644 --- a/lib/whitelist.js +++ b/lib/whitelist.js @@ -1,4 +1,5 @@ export default [ + "anon", "balance", "address", "admin", diff --git a/routes/payments.js b/routes/payments.js index a11934ea..7fa6b308 100644 --- a/routes/payments.js +++ b/routes/payments.js @@ -119,6 +119,7 @@ export default { async pot({ params: { name } }, res) { let amount = await g(`pot:${name}`); + if (!amount) fail("pot not found"); let payments = (await db.lRange(`pot:${name}:payments`, 0, -1)) || []; payments = await Promise.all(payments.map(hash => g(`payment:${hash}`))); diff --git a/routes/requests.js b/routes/requests.js index 1d9eb7d5..80270b2b 100644 --- a/routes/requests.js +++ b/routes/requests.js @@ -8,6 +8,8 @@ export default { let request = await g(`request:${id}`); if (!request) fail("request not found"); request.recipient = await g(`user:${request.recipient_id}`); + request.requester = await g(`user:${request.requester_id}`); + request.invoice = await g(`invoice:${request.invoice_id}`); res.send({ request }); }, @@ -29,7 +31,10 @@ export default { }) ); - res.send({ invoices, requests }); + let sent = requests.filter(r => r.requester_id === id); + let received = requests.filter(r => r.recipient_id === id); + + res.send({ invoices, sent, received }); } catch (e) { console.log(e); res.code(500).send(e.message); diff --git a/routes/users.js b/routes/users.js index 89605ec1..34e115d7 100644 --- a/routes/users.js +++ b/routes/users.js @@ -59,6 +59,7 @@ export default { if (!user) return res.code(500).send("User not found"); let whitelist = [ + "anon", "username", "banner", "profile", -- cgit v1.2.3