freeCodeCamp/server.js

39 lines
1.1 KiB
JavaScript
Raw Normal View History

2013-11-13 17:32:22 +00:00
var express = require('express'),
2013-11-13 20:49:58 +00:00
mongoose = require('mongoose'),
2013-11-13 17:32:22 +00:00
fs = require('fs'),
2013-11-13 21:13:31 +00:00
config = require('./conf');
2013-11-13 20:49:58 +00:00
2013-11-13 17:32:22 +00:00
var db = mongoose.connect(config.db);
var app = express();
2013-11-13 21:05:26 +00:00
/**
* Express Settings
*/
2013-11-13 20:49:58 +00:00
app.set('port', process.env.PORT || 3000);
app.use(express.favicon());
2013-11-13 21:05:26 +00:00
app.use(express.logger('dev'));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(app.router);
2013-11-13 21:05:26 +00:00
app.use(express.static(config.root + '/public'));
2013-11-13 17:32:22 +00:00
2013-11-13 21:05:26 +00:00
/**
* API Routes
*/
app.post('/api/users', users.create);
app.get('/api/users/me', users.me);
app.get('/api/users/:userId', users.show);
app.get('/api/articles', articles.all);
app.post('/api/articles', requiresLogin, articles.create);
app.get('/api/articles/:articleId', articles.show);
app.put('/api/articles/:articleId', auth.requiresLogin, auth.article.hasAuthorization, articles.update);
app.del('/api/articles/:articleId', auth.requiresLogin, auth.article.hasAuthorization, articles.destroy);
app.listen(app.get('port'), function() {
console.log('Express server listening on port ' + app.get('port'));
});