aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
Diffstat (limited to 'routes')
-rw-r--r--routes/lnurl.js7
-rw-r--r--routes/requests.js18
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) {