diff options
| author | Adam Soltys <[email protected]> | 2023-02-08 16:47:32 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2023-02-08 16:47:32 -0800 |
| commit | 12dcd267bd2d23439afcbd493fda6f9d77035c4a (patch) | |
| tree | afe187ef3bcaeb2450a5cdbae9de6669cb004721 /routes/requests.js | |
| parent | 7de7a87dd4f014f2a4f0aa405a6ba4a1a6c9f208 (diff) | |
| download | coinos-server-12dcd267bd2d23439afcbd493fda6f9d77035c4a.tar.gz coinos-server-12dcd267bd2d23439afcbd493fda6f9d77035c4a.zip | |
invoice requests
Diffstat (limited to 'routes/requests.js')
| -rw-r--r-- | routes/requests.js | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/routes/requests.js b/routes/requests.js index 80270b2b..11bf9a36 100644 --- a/routes/requests.js +++ b/routes/requests.js @@ -17,10 +17,8 @@ export default { try { const day = new Date(new Date().setDate(new Date().getDate() - 1)); - let invoices = await db.lRange(`${id}:invoices`, 0, -1); let requests = await db.lRange(`${id}:requests`, 0, -1); - invoices = await Promise.all(invoices.map(id => g(`invoice:${id}`))); requests = await Promise.all(requests.map(id => g(`request:${id}`))); requests = await Promise.all( @@ -32,7 +30,21 @@ export default { ); let sent = requests.filter(r => r.requester_id === id); - let received = requests.filter(r => r.recipient_id === id); + + let received = requests + .filter(r => r.recipient_id === id) + .filter(r => !r.invoice_id); + + let invoices = []; + for (let r of sent) { + if (!r.invoice_id) continue; + + let invoice = await g(`invoice:${r.invoice_id}`); + if (!invoice) continue; + + invoice.request = r; + if (invoice.amount < invoice.received) invoices.push(invoice); + } res.send({ invoices, sent, received }); } catch (e) { |
