basic setup for REST api - /:uid/up/:score? for now

Conflicts:

	lib/server/index.js
	src/server/index.coffee
This commit is contained in:
Tyler Renelle 2012-08-27 22:25:52 -04:00
parent b408cc4004
commit c8bbfda776
4 changed files with 33 additions and 0 deletions

19
lib/server/api.js Normal file
View file

@ -0,0 +1,19 @@
// Generated by CoffeeScript 1.3.3
module.exports = function(expressApp) {
return expressApp.get('/:uid/up/:score?', function(req, res) {
var model, score;
score = parseInt(req.params.score) || 1;
console.log({
score: score
});
model = req.getModel();
model.fetch("users." + req.params.uid, function(err, user) {
if (err || !user.get()) {
return;
}
return user.set('stats.exp', parseInt(user.get('stats.exp')) + score);
});
return res.send(200);
});
};

View file

@ -76,6 +76,8 @@ expressApp.use(express.favicon()).use(gzippo.staticGzip(publicPath, {
})
})).use(store.modelMiddleware()).use(habitrpgMiddleware).use(app.router()).use(expressApp.router).use(serverError(root));
require('./api')(expressApp);
expressApp.all('*', function(req) {
throw "404: " + req.url;
});

10
src/server/api.coffee Normal file
View file

@ -0,0 +1,10 @@
module.exports = (expressApp) ->
expressApp.get '/:uid/up/:score?', (req, res) ->
score = parseInt(req.params.score) || 1
console.log {score:score}
model = req.getModel()
model.fetch "users.#{req.params.uid}", (err, user) ->
return if err || !user.get()
#TODO run this through scoring to account for weapons & armor, don't just +1
user.set('stats.exp', parseInt(user.get('stats.exp'))+score)
res.send(200)

View file

@ -88,6 +88,8 @@ expressApp
## SERVER ONLY ROUTES ##
require('./api')(expressApp)
expressApp.all '*', (req) ->
throw "404: #{req.url}"