arnaucube
arnaucube/openworktimePublic Self-hosted repository
openworktime/controllers/projectController.js
controllers/projectController.jsRaw
 1//File: controllers/projectController.js
 2var mongoose = require('mongoose');
 3var projectModel  = mongoose.model('projectModel');
 4
 5var userModel  = mongoose.model('userModel');
 6
 7//GET
 8exports.findAllProjects = function(req, res) {
 9
10	projectModel.find(function(err, projects) {
11	    if(err) res.send(500, err.message);
12
13		res.status(200).jsonp(projects);
14	});
15
16
17};
18
19//GET
20exports.findById = function(req, res) {
21	projectModel.findById(req.params.id, function(err, project) {
22    if(err) return res.send(500, err.message);
23
24    console.log('GET /project/' + req.params.id);
25		res.status(200).jsonp(project);
26	});
27};
28
29exports.findAllProjectsFromUsername = function(req, res) {
30    projectModel.find({
31      owner: req.params.username
32  }, function(err, projects) {
33
34      if (err) throw err;
35
36      if (!projects) {
37        res.json({ success: false, message: 'no projects for user' });
38    } else if (projects) {
39        console.log(projects);
40          // return the information including token as JSON
41          res.jsonp(projects);
42
43
44      }
45
46    });
47};
48
49exports.addProject = function(req, res) {
50	console.log('POST new project, title: ' + req.body.title);
51	var project = new projectModel({
52		title: req.body.title,
53	    description:   req.body.description,
54	    icon:   req.body.icon,
55	    users:   req.body.users,
56	    chart:   req.body.chart,
57	    dateCreation:   req.body.dateCreation,
58	    github:   req.body.github,
59	    refnum:   req.body.refnum
60	});
61
62	project.save(function(err, project) {
63		if(err) return res.send(500, err.message);
64    res.status(200).jsonp(project);
65	});
66};
67
68//PUT
69exports.updateProject = function(req, res) {
70	ActivityModel.findById(req.params.id, function(err, tvshow) {
71		tvshow.title   = req.body.petId;
72		tvshow.year    = req.body.year;
73		tvshow.country = req.body.country;
74		tvshow.poster  = req.body.poster;
75		tvshow.seasons = req.body.seasons;
76		tvshow.genre   = req.body.genre;
77		tvshow.summary = req.body.summary;
78
79		tvshow.save(function(err) {
80			if(err) return res.send(500, err.message);
81      res.status(200).jsonp(tvshow);
82		});
83	});
84};
85
86//DELETE
87exports.deleteProject = function(req, res) {
88	ActivityModel.findById(req.params.id, function(err, activity) {
89		activity.remove(function(err) {
90			if(err) return res.send(500, err.message);
91      		res.status(200).jsonp(req.params.id);
92		    console.log('DELETE /activities/' + req.params.id);
93		})
94	});
95};