@@ -39,15 +39,15 @@ export function findUserByUsername(username, cb) {
39
39
}
40
40
41
41
export function createUser ( req , res , next ) {
42
- let { username, email } = req . body ;
42
+ const { username, email } = req . body ;
43
43
const { password } = req . body ;
44
- username = username . toLowerCase ( ) ;
45
- email = email . toLowerCase ( ) ;
44
+ const usernameLowerCase = username . toLowerCase ( ) ;
45
+ const emailLowerCase = email . toLowerCase ( ) ;
46
46
const EMAIL_VERIFY_TOKEN_EXPIRY_TIME = Date . now ( ) + ( 3600000 * 24 ) ; // 24 hours
47
47
random ( ( tokenError , token ) => {
48
48
const user = new User ( {
49
- username,
50
- email,
49
+ username : usernameLowerCase ,
50
+ email : emailLowerCase ,
51
51
password,
52
52
verified : User . EmailConfirmation . Sent ,
53
53
verifiedToken : token ,
@@ -57,8 +57,8 @@ export function createUser(req, res, next) {
57
57
User . findOne (
58
58
{
59
59
$or : [
60
- { email } ,
61
- { username }
60
+ { email : { $in : [ email , emailLowerCase ] } } ,
61
+ { username : { $in : [ username , usernameLowerCase ] } }
62
62
]
63
63
} ,
64
64
( err , existingUser ) => {
@@ -68,7 +68,7 @@ export function createUser(req, res, next) {
68
68
}
69
69
70
70
if ( existingUser ) {
71
- const fieldInUse = existingUser . email === email ? 'Email' : 'Username' ;
71
+ const fieldInUse = existingUser . email . toLowerCase ( ) === emailLowerCase ? 'Email' : 'Username' ;
72
72
res . status ( 422 ) . send ( { error : `${ fieldInUse } is in use` } ) ;
73
73
return ;
74
74
}
0 commit comments