aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--index.js1
-rw-r--r--lib/db.js9
-rw-r--r--lib/register.js2
-rw-r--r--routes/lnurl.js2
-rw-r--r--routes/users.js14
5 files changed, 23 insertions, 5 deletions
diff --git a/index.js b/index.js
index 7729533e..5dd5979d 100644
--- a/index.js
+++ b/index.js
@@ -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);
diff --git a/lib/db.js b/lib/db.js
index 86f8082e..94538abb 100644
--- a/lib/db.js
+++ b/lib/db.js
@@ -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");
}
};