Skip to content

Instantly share code, notes, and snippets.

@joshbedo
Last active August 29, 2015 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save joshbedo/8957056 to your computer and use it in GitHub Desktop.
Save joshbedo/8957056 to your computer and use it in GitHub Desktop.
this.loginUser = function(user, callback) {
//plans for changing this to promises once i do error reporting
// var q = Q.defer();
// if() {
// q.resolve(num+1);
// } else {
// q.reject("error message");
// }
// return q.promise;
var defer = q.defer(),
userid = user.userid,
password = (user.password) ?
crypto.createHash("md5").update(user.password).digest("hex"):
undefined,
rememberme = user.rememberme;
if(userid && password) {
db.users.find({ email: userid, password: password }, function(err, user) {
if(err) {
defer.reject(err);
}
// db.users.findAndModify({
// query: { email: userid, password: password },
// update: { $set: { logincode: logincode } },
// new: true
// }, function(err, user) {
// if(err) defer.reject(err);
// defer.promise(user);
// });
if(user) {
var logincode = uuid.v4(),
token = jwt.encode({email: userid, password: password}, secret);
if(rememberme) {
res.cookie("clogincode", logincode, { magAge: 900000 } );
}
defer.resolve(user);
} else {
defer.reject("User not found");
}
});
} else {
defer.reject("Username or Password was not entered");
}
return defer.promise;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment