aboutsummaryrefslogtreecommitdiffstats
path: root/routes
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-02-08 16:47:32 -0800
committerAdam Soltys <[email protected]>2023-02-08 16:47:32 -0800
commit12dcd267bd2d23439afcbd493fda6f9d77035c4a (patch)
treeafe187ef3bcaeb2450a5cdbae9de6669cb004721 /routes
parent7de7a87dd4f014f2a4f0aa405a6ba4a1a6c9f208 (diff)
downloadcoinos-server-12dcd267bd2d23439afcbd493fda6f9d77035c4a.tar.gz
coinos-server-12dcd267bd2d23439afcbd493fda6f9d77035c4a.zip
invoice requests
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) {