Added regex to look for the field that is duplicated. Not sure if there is a better way to do it.

This commit is contained in:
gaba
2017-01-12 14:43:36 -08:00
parent acf3ad5e28
commit 1027b19a49
3 changed files with 14 additions and 8 deletions
+4 -3
View File
@@ -14,7 +14,8 @@
"PASSWORD_REQUIRED": "Must input a password",
"PASSWORD_LENGTH": "Password is too short",
"EMAIL_IN_USE": "Email address already in use",
"EMAIL_DISPLAYNAME_IN_USE": "Email address or display name already in use",
"EMAIL_DISPLAY_NAME_IN_USE": "Email address or display name already in use",
"DISPLAYNAME_IN_USE": "Display name already in use",
"DISPLAY_NAME_REQUIRED": "Must input a display name",
"NO_SPECIAL_CHARACTERS": "Display names can contain letters, numbers and _ only",
"PROFANITY_ERROR": "Display names must not contain profanity. Please contact the administrator if you believe this to be in error."
@@ -31,12 +32,12 @@
"displayName": "Los nombres pueden contener letras, números y _",
"confirmPassword": "Las contraseñas no coinciden",
"emailPasswordError": "Email y/o contraseña incorrecta.",
"emailInUse": "Correo electronico en uso.",
"emailORusernameInUse": "Correo o Nombre en uso.",
"EMAIL_REQUIRED": "Se requiere una dirección de correo electrónico",
"PASSWORD_REQUIRED": "Debe ingresar una contraseña",
"PASSWORD_LENGTH": "La contraseña es muy corta",
"EMAIL_IN_USE": "La dirección de correo electrónico se encuentra en uso",
"EMAIL_DISPLAY_NAME_IN_USE": "Correo o Nombre en uso.",
"DISPLAYNAME_IN_USE": "Nombre en uso.",
"DISPLAY_NAME_REQUIRED": "Debe ingresar un nombre",
"NO_SPECIAL_CHARACTERS": "Los nombres pueden contener letras, números y _",
"PROFANITY_ERROR": "Los nombres no pueden contener blasfemias. Por favor contacte al administrador si cree que esto es un error"
+5 -4
View File
@@ -15,9 +15,9 @@ const ErrEmailTaken = new Error('Email address already in use');
ErrEmailTaken.translation_key = 'EMAIL_IN_USE';
ErrEmailTaken.status = 400;
const ErrEmailDisplaynameTaken = new Error('Email or Display name already in use');
ErrEmailDisplaynameTaken.translation_key = 'EMAIL_DISPLAYNAME_IN_USE';
ErrEmailDisplaynameTaken.status = 400;
const ErrDisplayTaken = new Error('Display name already in use');
ErrDisplayTaken.translation_key = 'DISPLAYNAME_IN_USE';
ErrDisplayTaken.status = 400;
const ErrSpecialChars = new Error('No special characters are allowed in a display name');
ErrSpecialChars.translation_key = 'NO_SPECIAL_CHARACTERS';
@@ -45,5 +45,6 @@ module.exports = {
ErrEmailTaken,
ErrSpecialChars,
ErrMissingDisplay,
ErrContainsProfanity
ErrContainsProfanity,
ErrDisplayTaken
};
+5 -1
View File
@@ -383,7 +383,11 @@ UserService.createLocalUser = (email, password, displayName) => {
user.save((err) => {
if (err) {
if (err.code === 11000) {
return reject(errors.ErrEmailDisplaynameTaken);
const regex = new RegExp('displayName', 'g');
if (regex.exec(err.message)[0] === 'displayName') {
return reject(errors.ErrDisplayTaken);
}
return reject(errors.ErrEmailTaken);
}
return reject(err);
}