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
|
|
|
|
2013-11-13 17:49:37 +00:00
|
|
|
/**
|
|
|
|
* Express Settings
|
|
|
|
*/
|
2013-11-13 20:49:58 +00:00
|
|
|
app.set('port', process.env.PORT || 3000);
|
2013-11-13 17:49:37 +00:00
|
|
|
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());
|
2013-11-13 17:49:37 +00:00
|
|
|
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:49:37 +00:00
|
|
|
|
2013-11-13 17:32:22 +00:00
|
|
|
|
2013-11-13 22:16:06 +00:00
|
|
|
/**
|
|
|
|
* API Controllers
|
|
|
|
*/
|
|
|
|
var articles = require('./controllers/articles');
|
|
|
|
var users = require('./controllers/users');
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* API Models
|
|
|
|
*/
|
|
|
|
var Article = require('./models/article');
|
|
|
|
var User = require('./models/user');
|
|
|
|
|
|
|
|
|
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'));
|
|
|
|
});
|