|
|
@ -109,13 +109,24 @@ var config = require('../config.js'),
|
|
|
|
RDB.get('email:' + email, callback)
|
|
|
|
RDB.get('email:' + email, callback)
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
User.send_reset = function(email) {
|
|
|
|
User.reset = {
|
|
|
|
|
|
|
|
validate: function(code) {
|
|
|
|
|
|
|
|
RDB.get('reset:' + code + ':uid', function(uid) {
|
|
|
|
|
|
|
|
if (uid !== null) {
|
|
|
|
|
|
|
|
RDB.get('reset:' + code + ':expiry', function(expiry) {
|
|
|
|
|
|
|
|
if (expiry >= +new Date()/1000|0) global.socket.emit('user:reset.valid', { valid: true });
|
|
|
|
|
|
|
|
else global.socket.emit('user:reset.valid', { valid: false });
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
} else global.socket.emit('user:reset.valid', { valid: false });
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
send: function(email) {
|
|
|
|
User.get_uid_by_email(email, function(uid) {
|
|
|
|
User.get_uid_by_email(email, function(uid) {
|
|
|
|
if (uid !== null) {
|
|
|
|
if (uid !== null) {
|
|
|
|
// Generate a new reset code
|
|
|
|
// Generate a new reset code
|
|
|
|
var reset_code = utils.generateUUID();
|
|
|
|
var reset_code = utils.generateUUID();
|
|
|
|
RDB.set('reset:' + reset_code + ':uid', uid);
|
|
|
|
RDB.set('reset:' + reset_code + ':uid', uid);
|
|
|
|
// RDB.set('reset:' + reset_code + ':expiry', expiry);
|
|
|
|
RDB.set('reset:' + reset_code + ':expiry', (60*60)+new Date()/1000|0); // Active for one hour
|
|
|
|
|
|
|
|
|
|
|
|
var reset_link = config.url + 'reset/' + reset_code,
|
|
|
|
var reset_link = config.url + 'reset/' + reset_code,
|
|
|
|
reset_email = global.templates['emails/reset'].parse({'RESET_LINK': reset_link}),
|
|
|
|
reset_email = global.templates['emails/reset'].parse({'RESET_LINK': reset_link}),
|
|
|
@ -158,6 +169,7 @@ var config = require('../config.js'),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
User.email = {
|
|
|
|
User.email = {
|
|
|
|
exists: function(email, callback) {
|
|
|
|
exists: function(email, callback) {
|
|
|
|