summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/index.js3
-rw-r--r--server/lib/auth/index.js10
-rw-r--r--server/lib/middleware.js11
-rw-r--r--server/lib/util.js4
-rw-r--r--server/repl.js17
5 files changed, 38 insertions, 7 deletions
diff --git a/server/index.js b/server/index.js
index 4fbd8d1..9a9323c 100644
--- a/server/index.js
+++ b/server/index.js
@@ -20,7 +20,7 @@ var http = require('http'),
var app = express()
var server
-var DATABASE_URI = process.env.MONGOLAB_URI || ('mongodb://' + config.hostName + '/vvalls')
+var DATABASE_URI = process.env.MONGOLAB_URI || ('mongodb://' + config.databaseHost + '/vvalls')
//
@@ -68,6 +68,7 @@ site.setup = function(){
// Essential middleware
// app.all('*', middleware.enableCORS);
app.all('*', middleware.ensureLocals);
+ app.all('*', middleware.ensureIP);
server = http.createServer(app)
server.listen(app.get('port'), function () {
diff --git a/server/lib/auth/index.js b/server/lib/auth/index.js
index 0c46105..a9a2400 100644
--- a/server/lib/auth/index.js
+++ b/server/lib/auth/index.js
@@ -86,9 +86,9 @@ var auth = {
return res.redirect('/auth/usernameTaken');
}
if (! user.created_ip) {
- user.created_ip = util.ip2num( req.ip )
+ user.created_ip = util.ip2num( req.session.ip )
}
- user.last_ip = util.ip2num( req.ip )
+ user.last_ip = util.ip2num( req.session.ip )
user.save(function(err, data){ if (err) console.err('error setting ip for user') })
req.logIn(user, function(err) {
@@ -111,7 +111,7 @@ var auth = {
}
user.last_seen = new Date ()
- user.last_ip = util.ip2num( req.ip )
+ user.last_ip = util.ip2num( req.session.ip )
user.save(function(err, data){ if (err) console.err('error setting ip for user') })
req.logIn(user, function(err) {
@@ -171,8 +171,8 @@ var auth = {
displayName: username,
password: password,
email: email,
- created_ip: util.ip2num( req.ip ),
- last_ip: util.ip2num( req.ip ),
+ created_ip: util.ip2num( req.session.ip ),
+ last_ip: util.ip2num( req.session.ip ),
created_at: new Date (),
last_seen: new Date (),
}
diff --git a/server/lib/middleware.js b/server/lib/middleware.js
index 7b37658..4848ab0 100644
--- a/server/lib/middleware.js
+++ b/server/lib/middleware.js
@@ -33,6 +33,17 @@ var middleware = {
}
next();
},
+
+ ensureIP: function (req, res, next) {
+ if (req.session.ip) {
+ req.ip = req.session.ip || "127.0.0.1"
+ }
+ else if (req.ips) {
+ req.ip = req.session.ip = req.ips[0]
+ req.session.save()
+ }
+ next()
+ },
ensureLocals: function (req, res, next) {
res.locals.token = req.csrfToken();
diff --git a/server/lib/util.js b/server/lib/util.js
index 1f63a30..273d7d1 100644
--- a/server/lib/util.js
+++ b/server/lib/util.js
@@ -45,7 +45,9 @@ util.cleanQuery = function (query) {
}
util.ip2num = function(dot) {
- var d = dot.split('.');
+ console.log(dot);
+
+ var d = (dot || "127.0.0.1").split('.');
return ((((((+d[0])*256)+(+d[1]))*256)+(+d[2]))*256)+(+d[3]);
}
diff --git a/server/repl.js b/server/repl.js
new file mode 100644
index 0000000..ba94d45
--- /dev/null
+++ b/server/repl.js
@@ -0,0 +1,17 @@
+var DB_HOST = 'localhost'
+var mongoose = require('mongoose')
+mongoose.connect('mongodb://' + DB_HOST + '/vvalls', {}, function(){
+ console.log("vvalls: connected to", DB_HOST)
+ var repl = require("repl").start({});
+ [ "./lib/schemas/User",
+ "./lib/schemas/Collaborator",
+ "./lib/schemas/Documentation",
+ "./lib/schemas/Layout",
+ "./lib/schemas/Media",
+ "./lib/schemas/Project",
+ ].forEach(function(modName){
+ // console.log(name, modName)
+ var namez = modName.split("/"), name = namez[namez.length-1];
+ repl.context[name] = require(modName);
+ });
+});