socketing for reset page - started on emailer

This commit is contained in:
Julian Lam
2013-04-23 12:06:22 -04:00
parent 96a4cbd8d1
commit 0e8c4f35cd
5 changed files with 57 additions and 19 deletions

View File

@@ -95,12 +95,31 @@ var RDB = require('./redis.js');
RDB.get('username:' + username + ':uid', callback);
};
User.send_reset = function(email) {
User.email.exists(email, function(exists) {
if (exists) {
global.socket.emit('user.send_reset', {
status: "ok",
message: "code-sent",
email: email
});
} else {
global.socket.emit('user.send_reset', {
status: "error",
message: "invalid-email",
email: email
});
}
});
}
User.email = {
exists: function(email) {
exists: function(email, callback) {
RDB.get('email:' + email, function(exists) {
console.log('email:' + email, exists);
exists = !!exists;
global.socket.emit('user.email.exists', { exists: exists });
if (typeof callback !== 'function') global.socket.emit('user.email.exists', { exists: exists });
else callback(exists);
});
}
}

View File

@@ -29,10 +29,9 @@ var express = require('express'),
app.use(express.favicon());
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.logger({ format: '\x1b[1m:method\x1b[0m \x1b[33m:url\x1b[0m :response-time ms' }));
app.use(express.methodOverride());
// app.use(express.logger({ format: '\x1b[1m:method\x1b[0m \x1b[33m:url\x1b[0m :response-time ms' }));
// app.use(express.methodOverride());
app.use(express.static(global.configuration.ROOT_DIRECTORY + '/public'));
app.set('mailOptions', config.mailer);
});
}

View File

@@ -22,6 +22,7 @@ var SocketIO = require('socket.io').listen(global.server);
socket.emit('event:connect', {status: 1});
// BEGIN: API calls (todo: organize)
// julian: :^)
socket.on('user.create', function(data) {
modules.user.create(data.username, data.password, data.email);
});
@@ -45,6 +46,10 @@ var SocketIO = require('socket.io').listen(global.server);
socket.on('user.email.exists', function(data) {
modules.user.email.exists(data.email);
});
socket.on('user.send_reset', function(data) {
modules.user.send_reset(data.email);
});
});
}(SocketIO));