<commit_before>'use strict'

var bcrypt = require('bcrypt-nodejs');
var User = require('../models/user');

function pruebas(req, res){
   res.status(200).send({
      message: 'controlador',
   });
}

function saveUser(req, res){
   var user = new User();

   var params = req.body;
   console.log(params);
   user.name    = params.name;
   user.surname = params.surname;
   user.email   = params.email;
   user.role    = 'ROLE_USER';
   user.image   = 'null';

   if (params.password) {
      //encriptar
      bcrypt.hash(params.password, null, null, function(err, hash){
         user.password = <PASSWORD>;
         if (user.name != null && user.surname != null && user.email != null) {
            //Guardar el usuario
            user.save((err, userStored) => {
               if (err) {
                  res.status(500).send({ message: 'Erros al guardar el usuario' });
               } else {
                  if (!userStored) {
                     res.status(404).send({ message: 'No se ha registrado el usuario' });
                  } else {
                     res.status(200).send({ user: userStored });
                  }
               }
            });
         } else {
            res.status(200).send({ message: 'Introduce todos los campos' });
         }
      });
   } else {
      res.status(200).send({ message: 'Introduce Contraseña' });
   }
}

function loginUser(req, res){
   var params = req.body;
   var email = params.email;
   var password = params.password;

   User.findOne({ email: email.toLowerCase()}, (err, user) => {
      if (err) {
         res.status(500).send({ message: 'Error en la petición' });
      }else{
         if (!user) {
            res.status(404).send({ message: 'El usuario no existe' });
         } else {
            //comprobar la contraseña
            bcrypt.compare(password, user.password, function(err, check){
               if (check) {
                  //devolver los datos del usario logueado
                  if (params.gethash) {
                     //devolver un token jwt
                  } else {
                     res.status(200).send({ user });
                  }
               } else {
                  res.status(404).send({ message: 'El usuario no pudo loguearse' });
               }
            });
         }
      }
   });
}

module.exports = {
   pruebas,
   saveUser,
   loginUser
};<commit_msg>function updateUser<commit_after>'use strict'

var bcrypt = require('bcrypt-nodejs');
var User = require('../models/user');
var jwt = require('../services/jwt');

function pruebas(req, res){
   res.status(200).send({
      message: 'controlador',
   });
}

function saveUser(req, res){
   var user = new User();

   var params = req.body;
   console.log(params);
   user.name    = params.name;
   user.surname = params.surname;
   user.email   = params.email;
   user.role    = 'ROLE_USER';
   user.image   = 'null';

   if (params.password) {
      //encriptar
      bcrypt.hash(params.password, null, null, function(err, hash){
         user.password = <PASSWORD>;
         if (user.name != null && user.surname != null && user.email != null) {
            //Guardar el usuario
            user.save((err, userStored) => {
               if (err) {
                  res.status(500).send({ message: 'Erros al guardar el usuario' });
               } else {
                  if (!userStored) {
                     res.status(404).send({ message: 'No se ha registrado el usuario' });
                  } else {
                     res.status(200).send({ user: userStored });
                  }
               }
            });
         } else {
            res.status(200).send({ message: 'Introduce todos los campos' });
         }
      });
   } else {
      res.status(200).send({ message: 'Introduce Contraseña' });
   }
}

function loginUser(req, res){
   var params = req.body;
   var email = params.email;
   var password = params.password;

   User.findOne({ email: email.toLowerCase()}, (err, user) => {
      if (err) {
         res.status(500).send({ message: 'Error en la petición' });
      }else{
         if (!user) {
            res.status(404).send({ message: 'El usuario no existe' });
         } else {
            //comprobar la contraseña
            bcrypt.compare(password, user.password, function(err, check){
               if (check) {
                  //devolver los datos del usario logueado
                  if (params.gethash) {
                     //devolver un token jwt
                     res.status(200).send({
                        token: jwt.createToken(user)
                     });
                  } else {
                     res.status(200).send({ user });
                  }
               } else {
                  res.status(404).send({ message: 'El usuario no pudo loguearse' });
               }
            });
         }
      }
   });
}

function updateUser(req, res){
   var userId = req.params.id;
   var update = req.body;

   User.findByIdAndUpdate(userId, update, (err, userUpdated) => {
      if (err) {
         res.status(500).send({ message: 'Error al actualizar el usuario' });
      } else {
         if (!userUpdated) {
            res.status(404).send({ message: 'No se ha podido actualizar el usuario' });
         } else {
            res.status(200).send({ user: userUpdated });
         }
      }
   });
}

module.exports = {
   pruebas,
   saveUser,
   loginUser,
   updateUser
};
{'fraction_non_alphanumeric': 0.14068510716248397, 'fraction_numerical': 0.013189228796482872, 'mean_word_length': 1.5950570342205324, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1756618', 'n_tokens_mistral': 1679, 'n_tokens_neox': 1610, 'n_words': 374}