diff options
| -rw-r--r-- | index.js | 1 | ||||
| -rw-r--r-- | lib/db.js | 9 | ||||
| -rw-r--r-- | lib/register.js | 2 | ||||
| -rw-r--r-- | routes/lnurl.js | 2 | ||||
| -rw-r--r-- | routes/users.js | 14 |
5 files changed, 23 insertions, 5 deletions
@@ -62,6 +62,7 @@ app.post("/bitcoin", payments.bitcoin); app.post("/bitcoin/fee", auth, payments.fee); app.post("/bitcoin/send", auth, payments.send); +app.get("/lower", users.lower); app.get("/me", auth, users.me); app.get("/users/:key", users.get); app.post("/register", users.create); @@ -6,7 +6,14 @@ export const db = createClient({ url: config.db }); await db.connect(); export default db; -export let g = async k => JSON.parse(await db.get(k)); +export let g = async k => { + let v = await db.get(k); + try { + return JSON.parse(v); + } catch(e) { + return v; + } +} export let s = (k, v) => db.set(k, JSON.stringify(v)); let retries = {}; diff --git a/lib/register.js b/lib/register.js index a222a416..ea86fbae 100644 --- a/lib/register.js +++ b/lib/register.js @@ -53,7 +53,7 @@ export default async (user, ip, requireChallenge) => { } await s(`user:${id}`, user); - await s(`user:${user.username}`, id); + await s(`user:${user.username.toLowerCase()}`, id); await s(`user:${pubkey}`, id); l("new user", user.username); diff --git a/routes/lnurl.js b/routes/lnurl.js index 687dab6e..638c827f 100644 --- a/routes/lnurl.js +++ b/routes/lnurl.js @@ -49,7 +49,7 @@ export default { delete u.address; await s(`user:${pubkey}`, uid); - await s(`user:${username}`, uid); + await s(`user:${username.toLowerCase()}`, uid); await s(`user:${uid}`, u); await s(`balance:${uid}`, balance); diff --git a/routes/users.js b/routes/users.js index 2fd01415..fb552a09 100644 --- a/routes/users.js +++ b/routes/users.js @@ -220,7 +220,7 @@ export default { }; await s(`user:${pubkey}`, uid); - await s(`user:${username}`, uid); + await s(`user:${username.toLowerCase()}`, uid); await s(`user:${uid}`, user); await s(`balance:${uid}`, balance); @@ -251,7 +251,7 @@ export default { delete u.address; await s(`user:${u.pubkey}`, u.id); - await s(`user:${p.with.username}`, u.id); + await s(`user:${p.with.username.toLowerCase()}`, u.id); await s(`user:${u.id}`, u); l("added missing user", u.username); @@ -401,5 +401,15 @@ export default { db.del(`user:${pubkey}`); res.send({}); + }, + + async lower(req, res) { + for await (let k of db.scanIterator({ MATCH: "user:*" })) { + let u = await g(k); + await db.del(k); + await s(k.toLowerCase(), u); + } + + res.send("ok"); } }; |
