aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2020-07-29 18:40:13 -0700
committerAdam Soltys <[email protected]>2020-07-29 18:40:13 -0700
commit7b0767e39c055da0aafe3d16b2c722484920f2ac (patch)
treee48a1de88e035faefad87439de0f7cbcf83ee1a8
parent99d71f034cfb7c1675263539fa6aecb17429d134 (diff)
downloadcoinos-server-7b0767e39c055da0aafe3d16b2c722484920f2ac.tar.gz
coinos-server-7b0767e39c055da0aafe3d16b2c722484920f2ac.zip
lowercase username matching
-rw-r--r--routes/users.js21
1 files changed, 15 insertions, 6 deletions
diff --git a/routes/users.js b/routes/users.js
index 81ecf817..3aeeb702 100644
--- a/routes/users.js
+++ b/routes/users.js
@@ -5,6 +5,7 @@ const authenticator = require("otplib").authenticator;
const textToImage = require("text-to-image");
const randomWord = require("random-words");
const getAccount = require("../lib/account");
+const Sequelize = require("sequelize");
const pick = (O, ...K) => K.reduce((o, k) => ((o[k] = O[k]), o), {});
require("../lib/whitelist");
@@ -27,9 +28,13 @@ app.get(
"/users/:username",
ah(async (req, res) => {
const { username } = req.params;
+
const user = await db.User.findOne({
attributes: ["username"],
- where: { username },
+ where: Sequelize.where(
+ Sequelize.fn("lower", Sequelize.col("username")),
+ username.toLowerCase()
+ ),
});
if (user) res.send(user);
else res.status(500).send("User not found");
@@ -424,16 +429,20 @@ app.post(
if (!user) {
const ip = req.headers["x-forwarded-for"] || req.connection.remoteAddress;
- user = await register({
- username: redeemcode.substr(0, 8),
- password: '',
- } , ip, false);
+ user = await register(
+ {
+ username: redeemcode.substr(0, 8),
+ password: "",
+ },
+ ip,
+ false
+ );
let payload = { username: user.username };
let token = jwt.sign(payload, config.jwt);
res.cookie("token", token, { expires: new Date(Date.now() + 432000000) });
return res.send({ user });
- }
+ }
let account = await getAccount(source.account.asset, user);