Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var userValidationSchema = {
- properties: {
- name: {
- type: 'object',
- properties: {
- firstName: {
- type: 'string',
- required: true
- },
- lastName: {
- type: 'string',
- required: true
- }
- }
- },
- username: {
- type: 'string',
- required: true,
- minLength: 3,
- maxLength: 20,
- messages: {
- minLength: 'username must be at least 3 characters long',
- maxLength: 'username must be shorter than 20 characters'
- }
- },
- email: {
- type: 'string',
- required: true,
- format: 'email',
- messages: {
- format: 'this is not a valid email'
- }
- }
- }
- };
- exports.update = function(req, res) {
- logger.info('PUT /users/:id');
- var validator = revalidator.validate(req.body.user, userValidationSchema);
- if (validator.valid) {
- var userId = req.params.id;
- delete req.body._id;
- User.findByIdAndUpdateQ(userId, req.body.user)
- .then(function() {
- res.send();
- })
- .fail(error)
- .done();
- } else {
- var myUser = req.body.user;
- var errorResponse = {
- 'errors': []
- };
- validator.errors.forEach(function(err) {
- var property = err.property;
- var message = err.message;
- errorResponse.errors.push({
- property: [message]
- });
- });
- res.json(null);
- res.json({
- user: myUser
- });
- res.json(422, errorResponse);
- res.send();
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment