latest changes

This commit is contained in:
Dobie Wollert
2014-12-15 02:36:41 -05:00
parent b35bb3f1d5
commit 966152a631
57 changed files with 6842 additions and 42 deletions

111
app/controllers/posts.js Normal file
View File

@ -0,0 +1,111 @@
var mongoose = require('mongoose'),
Post = mongoose.model('Post');
var md5 = require('MD5');
var fs = require('fs');
var log = require('log4node');
exports.index = function(req, res) {
log.info('posts.index');
var query = Post.find()
.populate('author', 'name')
.sort('-createdOn')
.exec(function(err, results) {
if (err) {
res.json(500, err);
} else {
res.json(results);
}
});
};
exports.get = function(req, res, next) {
var id = req.param('post_id');
Post.findById(id)
.exec(function(err, post) {
if (err) return next(err);
if (!post) return next(new Error('Failed to load post ' + id));
res.json(post);
});
};
exports.create = function(req, res, next) {
log.info('posts.create %j', req.body);
var post = new Post({
title: req.body.title,
preview: req.body.preview,
details: req.body.details,
image: req.body.image,
gallery: req.body.gallery,
status: req.body.status,
createdOn: req.body.createdOn,
postedOn: req.body.postedOn,
author: req.user
});
return post.save(function(err) {
if (err) log.error("Error: %s", err);
return res.json(post);
});
};
exports.update = function(req, res, next) {
var id = req.param('post_id');
console.log('updating post');
return Post.findById(id, function(err, post) {
post.title = req.body.title;
post.preview = req.body.preview;
post.details = req.body.details;
post.image = req.body.image;
post.gallery = req.body.gallery;
post.status = req.body.status;
post.postedOn = req.body.postedOn;
return post.save(function(err) {
if (err)
log.error("Error: %s", err);
return res.json(post);
});
});
};
exports.destroy = function(req, res, next) {
var id = req.param('post_id');
log.info('posts.destroy %s', id);
return Post.findById(id, function(err, post) {
post.deleted = true;
return post.save(function(err) {
if (err)
log.error("Error: %s", err);
return res.json(post);
});
});
};
exports.upload = function(req, res, next) {
var path = req.files.file.path;
fs.readFile(path, function(err, data) {
var hash = md5(data);
fs.writeFile('/srv/biomed-site/images/' + hash, data, function(err) {
if (err)
log.error("Error: %s", err);
return res.json({
filename: hash
});
});
});
};