Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- app.post('/login', function(req,res){
- promise = new Promise(function(resolve, reject){
- let user = req.body.user;
- let password = req.body.password;
- datos = [];
- let respuesta;
- let keys;
- let exist = false;
- persist.get_all_users(
- function(err, reply) {
- keys = Object.keys(reply);
- datos = Object.values(reply);
- data = datos.map(function(element){
- return JSON.parse(element);
- });
- map = keys.map( function(x, i){
- return {"user": x, "passwd": data[i].password, "valido": data[i].valido, "role": data[i].role};
- }.bind(this));
- map.forEach(function(element) {
- if(element.user == user && element.valido == '0'){
- exist = true;
- reject(respuesta = false);
- }
- if(element.user == user && element.valido == '1'){
- exist = true;
- bcrypt.compare(password,element.passwd,function(err,res){
- if(res){
- req.session.logged = true;
- req.session.user = element; // Almacenamos el usuario
- var role_user = req.session.user.role;
- resolve(respuesta = role_user);
- }else{
- reject(respuesta = false);
- }
- });
- }
- });
- setTimeout(function(){
- if(exist == false){
- reject(respuesta = false);
- }
- }, 100);
- });
- });
- promise.then(function(respuesta) {
- res.send(respuesta);
- }, function(respuesta){
- res.send(respuesta);
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement