p5.js-web-editor/server/controllers/project.controller.js

50 lines
1.3 KiB
JavaScript
Raw Normal View History

2016-06-23 22:29:55 +00:00
import Project from '../models/project';
2016-06-17 18:11:52 +00:00
export function createProject(req, res) {
2016-06-23 22:29:55 +00:00
const projectValues = {
2016-07-08 18:57:22 +00:00
user: req.user ? req.user._id : undefined // eslint-disable-line no-underscore-dangle
2016-06-23 22:29:55 +00:00
};
2016-06-20 20:29:08 +00:00
2016-06-23 22:29:55 +00:00
Object.assign(projectValues, req.body);
Project.create(projectValues, (err, newProject) => {
if (err) { return res.json({ success: false }); }
return res.json(newProject);
2016-06-23 22:29:55 +00:00
});
2016-06-18 22:33:49 +00:00
}
export function updateProject(req, res) {
2016-06-28 23:35:56 +00:00
Project.findByIdAndUpdate(req.params.project_id,
2016-06-23 22:29:55 +00:00
{
$set: req.body
}, (err, updatedProject) => {
if (err) { return res.json({ success: false }); }
return res.json(updatedProject);
2016-06-23 22:29:55 +00:00
});
2016-06-18 22:33:49 +00:00
}
export function getProject(req, res) {
2016-06-23 22:29:55 +00:00
Project.findById(req.params.project_id, (err, project) => {
if (err) {
return res.status(404).send({ message: 'Project with that id does not exist' });
}
2016-06-20 17:29:32 +00:00
return res.json(project);
2016-06-23 22:29:55 +00:00
});
}
2016-07-01 15:30:40 +00:00
export function getProjects(req, res) {
if (req.user) {
Project.find({user: req.user._id}) // eslint-disable-line no-underscore-dangle
.sort('-createdAt')
2016-07-05 20:04:14 +00:00
.select('name file _id createdAt updatedAt')
2016-07-01 15:30:40 +00:00
.exec((err, projects) => {
res.json(projects);
});
} else {
// could just move this to client side
return res.json([]);
}
}