aboutsummaryrefslogtreecommitdiffstats
path: root/routes/lnurl.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2024-01-09 23:10:35 -0800
committerAdam Soltys <[email protected]>2024-01-09 23:10:39 -0800
commit7a84d2555ffabbe29b23cf6e5035b6a4be8b9eb6 (patch)
tree9fe2b7d523bbfe34176f115cb6823403fef1f802 /routes/lnurl.js
parente06878e18fc33e392fd16b76d1ab9f25f8bc7fbe (diff)
downloadcoinos-server-7a84d2555ffabbe29b23cf6e5035b6a4be8b9eb6.tar.gz
coinos-server-7a84d2555ffabbe29b23cf6e5035b6a4be8b9eb6.zip
remove users from archive once migrated
Diffstat (limited to 'routes/lnurl.js')
-rw-r--r--routes/lnurl.js59
1 files changed, 31 insertions, 28 deletions
diff --git a/routes/lnurl.js b/routes/lnurl.js
index 5660fa1b..b43d3010 100644
--- a/routes/lnurl.js
+++ b/routes/lnurl.js
@@ -76,38 +76,41 @@ export default {
async lnurlw({ params: { k1, pr } }, res) {},
async lnurl({ params: { id }, query: { amount, nostr } }, res) {
- let uid = await g(`lnurl:${id}`);
- let user = await g(`user:${uid}`);
- if (!user) user = await migrate(uid);
- if (!(user && user.username)) return bail(res, "user not found");
- let { username } = user;
- username = username.replace(/\s/g, "").toLowerCase();
+ try {
+ let uid = await g(`lnurl:${id}`);
+ let user = await getUser(uid);
+ if (!user) fail("user not found");
+ let { username } = user;
+ username = username.replace(/\s/g, "").toLowerCase();
- let metadata = JSON.stringify([
- ["text/plain", `Paying ${username}@${host}`],
- ["text/identifier", `${username}@${host}`],
- ]);
+ let metadata = JSON.stringify([
+ ["text/plain", `Paying ${username}@${host}`],
+ ["text/identifier", `${username}@${host}`],
+ ]);
- if (nostr) {
- try {
- let event = JSON.parse(decodeURIComponent(nostr));
- // TODO: validate the event
- await s(`zap:${id}`, event);
- metadata = nostr;
- } catch (e) {
- err("problem handling zap", e.message);
+ if (nostr) {
+ try {
+ let event = JSON.parse(decodeURIComponent(nostr));
+ // TODO: validate the event
+ await s(`zap:${id}`, event);
+ metadata = nostr;
+ } catch (e) {
+ err("problem handling zap", e.message);
+ }
}
- }
- let { text: pr } = await generate({
- invoice: {
- amount: Math.round(amount / 1000),
- type: types.lightning,
- },
- memo: metadata,
- user,
- });
+ let { text: pr } = await generate({
+ invoice: {
+ amount: Math.round(amount / 1000),
+ type: types.lightning,
+ },
+ memo: metadata,
+ user,
+ });
- res.send({ pr, routes: [] });
+ res.send({ pr, routes: [] });
+ } catch (e) {
+ bail(res, e.message);
+ }
},
};