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 | |
| parent | 7de7a87dd4f014f2a4f0aa405a6ba4a1a6c9f208 (diff) | |
| download | coinos-server-12dcd267bd2d23439afcbd493fda6f9d77035c4a.tar.gz coinos-server-12dcd267bd2d23439afcbd493fda6f9d77035c4a.zip | |
invoice requests
Diffstat (limited to 'routes')
| -rw-r--r-- | routes/lnurl.js | 7 | ||||
| -rw-r--r-- | routes/requests.js | 18 |
2 files changed, 16 insertions, 9 deletions
diff --git a/routes/lnurl.js b/routes/lnurl.js index 5494a5b0..687dab6e 100644 --- a/routes/lnurl.js +++ b/routes/lnurl.js @@ -86,17 +86,12 @@ export default { ["text/identifier", `${username}@${host}`] ]); - let memo = crypto - .createHash("sha256") - .update(Buffer.from(metadata, "utf8")) - .digest("hex"); - ({ text: pr } = await generate({ invoice: { amount: Math.round(amount / 1000), type: types.lightning }, - memo, + memo: metadata, user })); 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) { |
