commonroutesServer/controllers/travelController.js
controllers/travelController.jsRaw
1//File: controllers/travelController.js
2var mongoose = require('mongoose');
3var travelModel = mongoose.model('travelModel');
4
5var userModel = mongoose.model('userModel');
6
7var joinModel = mongoose.model('joinModel');
8
9//GET
10exports.findAllTravels = function(req, res) {
11
12 travelModel.find(function(err, travels) {
13 if(err) res.send(500, err.message);
14
15 res.status(200).jsonp(travels);
16 });
17
18
19};
20
21//GET
22exports.findById = function(req, res) {
23 travelModel.findById(req.params.id, function(err, travel) {
24 if(err) return res.send(500, err.message);
25
26 console.log('GET /travel/' + req.params.id);
27 res.status(200).jsonp(travel);
28 });
29};
30
31exports.findAllTravelsFromUsername = function(req, res) {
32 travelModel.find({
33 owner: req.params.username
34 }, function(err, travels) {
35
36 if (err) throw err;
37
38 if (!travels) {
39 res.json({ success: false, message: 'no travels for user' });
40 } else if (travels) {
41 console.log(travels);
42 // return the information including token as JSON
43 res.jsonp(travels);
44
45
46 }
47
48 });
49};
50
51exports.addTravel = function(req, res) {
52 console.log('POST new travel, title: ' + req.body.title);
53 var travel = new travelModel({
54 title: req.body.title,
55 description: req.body.description,
56 owner: req.body.owner,
57 from: req.body.from,
58 to: req.body.to,
59 date: req.body.date,
60 periodic: req.body.periodic,
61 generateddate: req.body.generateddate,
62 seats: req.body.seats,
63 package: req.body.package,
64 icon: req.body.icon,
65 phone: req.body.phone,
66 telegram: req.body.telegram,
67 collectivized: req.body.collectivized,
68 modality: req.body.modality
69 });
70
71 travel.save(function(err, travel) {
72 if(err) return res.send(500, err.message);
73 res.status(200).jsonp(travel);
74 });
75};
76
77//PUT
78exports.updateTravel = function(req, res) {
79 ActivityModel.findById(req.params.id, function(err, tvshow) {
80 tvshow.title = req.body.petId;
81 tvshow.year = req.body.year;
82 tvshow.country = req.body.country;
83 tvshow.poster = req.body.poster;
84 tvshow.seasons = req.body.seasons;
85 tvshow.genre = req.body.genre;
86 tvshow.summary = req.body.summary;
87
88 tvshow.save(function(err) {
89 if(err) return res.send(500, err.message);
90 res.status(200).jsonp(tvshow);
91 });
92 });
93};
94
95//DELETE
96exports.deleteTravel = function(req, res) {
97 travelModel.findById(req.params.id, function(err, travel) {
98 travel.remove(function(err) {
99 if(err) return res.send(500, err.message);
100 res.status(200).jsonp(req.params.id);
101 console.log('DELETE /traves/' + req.params.id);
102 })
103 });
104};
105
106
107/* join */
108exports.addJoin = function(req, res) {
109 var join = new joinModel({
110 travelId: req.body.travelId,
111 joinedUserId: req.body.joinedUserId,
112 joinedUsername: req.body.joinedUsername,
113 acceptedUserId: req.body.acceptedUserId,
114 comment: req.body.comment
115 });
116
117 join.save(function(err, join) {
118 if(err) return res.send(500, err.message);
119 res.status(200).jsonp(join);
120 });
121};
122
123exports.getJoinsByTravelId = function(req, res) {
124 joinModel.find({
125 travelId: req.params.travelId
126 }, function(err, joins) {
127
128 if (err) throw err;
129
130 if (!joins) {
131 res.json({ success: false, message: 'no joins for travelId' });
132 } else if (joins) {
133 // return the information including token as JSON
134 res.jsonp(joins);
135
136 }
137
138 });
139};