From 8c7a9dd818d4059d8d1acfb1ff293f88e8f4c44f Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Wed, 5 Aug 2015 18:51:15 -0700 Subject: [PATCH] fix trim and lowercase user username and email --- common/models/user.js | 8 ++++++++ common/models/user.json | 13 +++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/common/models/user.js b/common/models/user.js index 3c7e54cbb3..9b7de00def 100644 --- a/common/models/user.js +++ b/common/models/user.js @@ -44,6 +44,14 @@ module.exports = function(User) { // username should be unique User.validatesUniquenessOf('username'); + User.observe('before save', function({ instance: user }, next) { + if (user) { + user.username = user.username.trim().toLowerCase(); + user.email = user.email.trim().toLowerCase(); + } + next(); + }); + debug('setting up user hooks'); User.afterRemote('confirm', function(ctx) { ctx.req.flash('success', { diff --git a/common/models/user.json b/common/models/user.json index b961807093..97027fd50e 100644 --- a/common/models/user.json +++ b/common/models/user.json @@ -12,9 +12,7 @@ "unique": true, "sparse": true } - }, - "lowercase": true, - "trim": true + } }, "password": { "type": "string" @@ -45,9 +43,12 @@ }, "username": { "type": "string", - "lowercase": true, - "trim": true, - "require": true + "require": true, + "index": { + "mongodb": { + "unique": true + } + } }, "bio": { "type": "string",