diff --git a/gulpfile.babel.js b/gulpfile.babel.js index 786f70d8c7c2b1f3ca51190d78d60e705864fb04..e75f65bf5208dacdfb44e4a94fe77ffbfea0a262 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js @@ -84,7 +84,7 @@ gulp.task('test', ['pre-test'], () => { branches: 70, lines: 80, functions: 80 - } + } } })) .on('error', () => { @@ -115,4 +115,4 @@ gulp.task('run', () => { }); }); -gulp.task('default', ['run']); +gulp.task('default', ['run']); \ No newline at end of file diff --git a/src/libs/models/user.js b/src/libs/models/user.js index 554fabf05b5816c0a13ecc825a682dcb141e803c..9b9c2fa5c70bafd507f0a60a062b80efe45b4d13 100644 --- a/src/libs/models/user.js +++ b/src/libs/models/user.js @@ -9,47 +9,47 @@ var UserSchema = new Schema({ email: { type: String, unique: true, - required: true + required: [true, 'O campo Email é obrigatório.'] }, password: { type: String, - required: true + required: [true, 'O campo Senha é obrigatório.'] }, name: { type: String, - required: true + required: [true, 'O campo Nome é obrigatório.'] }, cpf:{ type: String, unique: true, - required: true + required: [true, 'O campo CPF é obrigatório.'] }, schooling: { type: String, - required: true + required: [true, 'O campo Escolaridade é obrigatório.'] }, course: { type: String, }, segment: { type: String, - required: true + required: [true, 'O campo Segmento é obrigatório.'] }, role: { type: String, - required: true + required: [true, 'O campo Função é obrigatório.'] }, institution_name: { type: String, - required: true + required: [true, 'O campo Instituição em que trabalha é obrigatório.'] }, state: { type: String, - required: true + required: [true, 'O campo Estado é obrigatório.'] }, city: { type: String, - required: true + required: [true, 'O campo Cidade é obrigatório.'] }, receive_emails: { type: Boolean diff --git a/src/libs/routes/user.js b/src/libs/routes/user.js index eb1732b18f6a04a74c6799ac81d7a4ca027c8e82..c8320c0de0e8ce91cccf5fabdaadaaaab7317c5e 100644 --- a/src/libs/routes/user.js +++ b/src/libs/routes/user.js @@ -21,83 +21,17 @@ function emailSyntax(email) { } userApp.post('/', (req, res, next) => { - if (!req.body.email) { - res.json({success: false, msg: 'O campo Email é obrigatório.'}); - } else { - next(); - } - -}, (req, res, next) => { - if (!req.body.password) { - res.json({success: false, msg: 'O campo Senha é obrigatório.'}); - } else { - next(); - } - -}, (req, res, next) => { - if(!emailSyntax(req.body.email)){ - res.json({success: false, msg: 'O email informado é inválido.'}); - } else { - next(); - } - -}, (req, res, next) => { - if (!req.body.name) { - res.json({success: false, msg: 'O campo Nome é obrigatório.'}); - } else { - next(); - } - -}, (req, res, next) => { - if (!req.body.cpf) { - res.json({success: false, msg: 'O campo CPF é obrigatório.'}); - } else { - next(); - } - -}, (req, res, next) => { - if (!req.body.schooling) { - res.json({success: false, msg: 'O campo Escolaridade é obrigatório.'}); - } else { - next(); - } - -}, (req, res, next) => { - if (!req.body.segment) { - res.json({success: false, msg: 'O campo Segmento é obrigatório.'}); - } else { - next(); - } - -}, (req, res, next) => { - if (!req.body.role) { - res.json({success: false, msg: 'O campo Função é obrigatório.'}); - } else { - next(); - } - -}, (req, res, next) => { - if (!req.body.institution_name) { - res.json({success: false, msg: 'O campo Instituição em que trabalha é obrigatório.'}); - } else { - next(); - } - -}, (req, res, next) => { - if (!req.body.city) { - res.json({success: false, msg: 'O campo Cidade é obrigatório.'}); - } else { - next(); - } - -}, (req, res, next) => { - if (!req.body.state) { - res.json({success: false, msg: 'O campo Estado é obrigatório.'}); + if(req.body.email){ + if(!emailSyntax(req.body.email)){ + res.json({success: false, msg: 'O email informado é inválido.'}); + } else { + next(); + } } else { next(); } - -}, (req, res, next) => { +}, + (req, res, next) => { User.count({'email': req.body.email}, function(err, count){ if (err){ log.error('MongoDB error: ' + err); @@ -141,9 +75,23 @@ userApp.post('/', (req, res, next) => { // save the user newUser.save((err) => { - if (err) { - res.json({success: false, msg: 'Um erro ocorreu no banco de dados.'}); - } else { + if (err){ + let errArray = []; + let errMsg = ''; + for (var e in err.errors) { + errArray.push(err.errors[`${e}`].message); + } + for (var i = 0; i < errArray.length; i++) { + if(i > 0){ + errMsg = '\n' + errMsg + errArray[i]; + } + else{ + errMsg = errMsg + errArray[i]; + } + } + res.json({success: false, msg: errMsg}); + } + else { res.json({success: true, msg: 'Usuário cadastrado com sucesso!'}); } });