aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--routes/payments.js5
-rw-r--r--routes/requests.js21
2 files changed, 17 insertions, 9 deletions
diff --git a/routes/payments.js b/routes/payments.js
index 1043959c..ec557474 100644
--- a/routes/payments.js
+++ b/routes/payments.js
@@ -36,6 +36,9 @@ export default {
})
.json();
} else if (payreq) {
+ let { msatoshi } = await ln.decode(payreq);
+ if (msatoshi) amount = Math.round(msatoshi * 1000);
+
p = await debit(
hash,
amount + maxfee,
@@ -45,7 +48,7 @@ export default {
types.lightning
);
- let r = await ln.pay(payreq);
+ let r = await ln.pay(payreq, msatoshi ? undefined : `${amount}sats`);
p.amount = -amount;
p.hash = r.payment_hash;
diff --git a/routes/requests.js b/routes/requests.js
index 79af1fb6..93457213 100644
--- a/routes/requests.js
+++ b/routes/requests.js
@@ -1,10 +1,13 @@
import { emit } from "$lib/sockets";
-import { g, db } from "$lib/db";
+import { g, s, db } from "$lib/db";
+import { v4 } from "uuid";
export default {
async get({ params: { id } }, res) {
try {
- res.send({ request: await g(id) });
+ let request = await g(`request:${id}`);
+ request.recipient = await g(`user:${request.recipient_id}`);
+ res.send({ request });
} catch (e) {
console.log(e);
res.code(500).send(e.message);
@@ -29,16 +32,18 @@ export default {
{ body: { recipient, ...params }, user: { username, profile } },
res
) {
- let { id: recipient_id } = await g(`user:${recipient}`);
+ let recipient_id = await g(`user:${recipient}`);
- let request = { recipient_id, ...params };
- request.requester = {
- username,
- profile
+ let id = v4();
+ let request = {
+ id,
+ recipient_id,
+ requester: { username, profile },
+ ...params
};
+ await s(`request:${id}`, request);
emit(recipient, "request", request);
-
res.send(request);
},