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');
8var commentModel = mongoose.model('commentModel');
9
10//GET
11exports.findAllTravels = function(req, res) {
12
13 travelModel.find(function(err, travels) {
14 if(err) res.send(500, err.message);
15
16 res.status(200).jsonp(travels);
17 });
18
19
20};
21
22//GET
23exports.findById = function(req, res) {
24 travelModel.findById(req.params.id, function(err, travel) {
25 if(err) return res.send(500, err.message);
26
27 console.log('GET /travel/' + req.params.id);
28 res.status(200).jsonp(travel);
29 });
30};
31
32exports.findAllTravelsFromUsername = function(req, res) {
33 travelModel.find({
34 owner: req.params.username
35 }, function(err, travels) {
36
37 if (err) throw err;
38
39 if (!travels) {
40 res.json({ success: false, message: 'no travels for user' });
41 } else if (travels) {
42 console.log(travels);
43 // return the information including token as JSON
44 res.jsonp(travels);
45
46
47 }
48
49 });
50};
51
52exports.addTravel = function(req, res) {
53 console.log('POST new travel, title: ' + req.body.title);
54 var travel = new travelModel({
55 title: req.body.title,
56 description: req.body.description,
57 owner: req.body.owner,
58 from: req.body.from,
59 to: req.body.to,
60 date: req.body.date,
61 periodic: req.body.periodic,
62 generateddate: req.body.generateddate,
63 seats: req.body.seats,
64 package: req.body.package,
65 icon: req.body.icon,
66 phone: req.body.phone,
67 telegram: req.body.telegram,
68 collectivized: req.body.collectivized,
69 modality: req.body.modality
70 });
71
72 travel.save(function(err, travel) {
73 if(err) return res.send(500, err.message);
74 res.status(200).jsonp(travel);
75 });
76};
77
78//PUT
79exports.updateTravel = function(req, res) {
80 ActivityModel.findById(req.params.id, function(err, tvshow) {
81 tvshow.title = req.body.petId;
82 tvshow.year = req.body.year;
83 tvshow.country = req.body.country;
84 tvshow.poster = req.body.poster;
85 tvshow.seasons = req.body.seasons;
86 tvshow.genre = req.body.genre;
87 tvshow.summary = req.body.summary;
88
89 tvshow.save(function(err) {
90 if(err) return res.send(500, err.message);
91 res.status(200).jsonp(tvshow);
92 });
93 });
94};
95
96//DELETE
97exports.deleteTravel = function(req, res) {
98 travelModel.findById(req.params.id, function(err, travel) {
99 travel.remove(function(err) {
100 if(err) return res.send(500, err.message);
101 res.status(200).jsonp(req.params.id);
102 console.log('DELETE /traves/' + req.params.id);
103 })
104 });
105};
106
107
108/* join */
109exports.addJoin = function(req, res) {
110 var join = new joinModel({
111 travelId: req.params.travelId,
112 joinedUserId: req.body.joinedUserId,
113 joinedUsername: req.body.joinedUsername,
114 acceptedUserId: req.body.acceptedUserId,
115 joinedAvatar: req.body.joinedAvatar
116 });
117
118 join.save(function(err, join) {
119 if(err) return res.send(500, err.message);
120 res.status(200).jsonp(join);
121 });
122};
123
124exports.getJoinsByTravelId = function(req, res) {
125 joinModel.find({
126 travelId: req.params.travelId
127 }, function(err, joins) {
128
129 if (err) throw err;
130
131 if (!joins) {
132 res.json({ success: false, message: 'no joins for travelId' });
133 } else if (joins) {
134 // return the information including token as JSON
135 res.jsonp(joins);
136
137 }
138
139 });
140};
141
142
143/* comment */
144exports.addComment = function(req, res) {
145 var comment = new commentModel({
146 travelId: req.params.travelId,
147 commentUserId: req.body.commentUserId,
148 commentUsername: req.body.commentUsername,
149 comment: req.body.comment,
150 commentAvatar: req.body.commentAvatar
151 });
152
153 comment.save(function(err, comment) {
154 if(err) return res.send(500, err.message);
155 res.status(200).jsonp(comment);
156 });
157};
158
159exports.getCommentsByTravelId = function(req, res) {
160 commentModel.find({
161 travelId: req.params.travelId
162 }, function(err, comments) {
163
164 if (err) throw err;
165
166 if (!comments) {
167 res.json({ success: false, message: 'no comments for travelId' });
168 } else if (comments) {
169 // return the information including token as JSON
170 res.jsonp(comments);
171
172 }
173
174 });
175};