arnaucube
arnaucube/commonroutesServerPublic Self-hosted repository
travel comments system added
nau idoctnef@openmailbox.org
Mon, 05 Sep 2016 20:28:14 +0200
commit

cb3d7eabba9c3d2b2bab474fd07a744b3a1e390a

parent

8e98c356a4bfbdccd7913187cb22079693a3a107

4 files changed, 56 insertions(+), 6 deletions(-)

jump to
M controllers/travelController.js → controllers/travelController.js

@@ -5,6 +5,7 @@

var userModel = mongoose.model('userModel'); var joinModel = mongoose.model('joinModel'); +var commentModel = mongoose.model('commentModel'); //GET exports.findAllTravels = function(req, res) {

@@ -107,11 +108,10 @@

/* join */ exports.addJoin = function(req, res) { var join = new joinModel({ - travelId: req.body.travelId, + travelId: req.params.travelId, joinedUserId: req.body.joinedUserId, joinedUsername: req.body.joinedUsername, - acceptedUserId: req.body.acceptedUserId, - comment: req.body.comment + acceptedUserId: req.body.acceptedUserId }); join.save(function(err, join) {

@@ -137,3 +137,37 @@ }

}); }; + + +/* comment */ +exports.addComment = function(req, res) { + var comment = new commentModel({ + travelId: req.params.travelId, + commentUserId: req.body.commentUserId, + commentUsername: req.body.commentUsername, + comment: req.body.comment + }); + + comment.save(function(err, comment) { + if(err) return res.send(500, err.message); + res.status(200).jsonp(comment); + }); +}; + +exports.getCommentsByTravelId = function(req, res) { + commentModel.find({ + travelId: req.params.travelId + }, function(err, comments) { + + if (err) throw err; + + if (!comments) { + res.json({ success: false, message: 'no comments for travelId' }); + } else if (comments) { + // return the information including token as JSON + res.jsonp(comments); + + } + + }); +};
A models/commentModel.js

@@ -0,0 +1,12 @@

+var mongoose = require('mongoose'), + Schema = mongoose.Schema; + + +var commentSchema = new Schema({ + travelId: { type: String }, + commentUserId: { type: String }, + commentUsername: { type: String }, + comment: { type: String } + +}); +module.exports = mongoose.model('commentModel', commentSchema);
M models/joinModel.js → models/joinModel.js

@@ -6,8 +6,7 @@ var joinSchema = new Schema({

travelId: { type: String }, joinedUserId: { type: String }, joinedUsername: { type: String }, - acceptedUserId: { type: String }, - comment: { type: String } + acceptedUserId: { type: String } }); module.exports = mongoose.model('joinModel', joinSchema);
M server.js → server.js

@@ -31,6 +31,7 @@ var userCtrl = require('./controllers/userController');

var travelMdl = require('./models/travelModel')(app, mongoose); var joinMdl = require('./models/joinModel')(app, mongoose); +var commentMdl = require('./models/commentModel')(app, mongoose); var travelCtrl = require('./controllers/travelController'); /*// Example Route

@@ -73,6 +74,8 @@ apiRoutes.route('/travels/:id')

.get(travelCtrl.findById); apiRoutes.route('/travels/join/:travelId') .get(travelCtrl.getJoinsByTravelId); +apiRoutes.route('/travels/comment/:travelId') + .get(travelCtrl.getCommentsByTravelId); // OJU AQUÏ TREC la verificació de token temporalment, per fer les proves des de l'app // route middleware to verify a token

@@ -119,8 +122,10 @@ apiRoutes.route('/travels/:id')

.put(travelCtrl.updateTravel) .delete(travelCtrl.deleteTravel); -apiRoutes.route('/travels/join/:id') +apiRoutes.route('/travels/join/:travelId') .post(travelCtrl.addJoin); +apiRoutes.route('/travels/comment/:travelId') + .post(travelCtrl.addComment); app.use('/api', apiRoutes); // end of API routes -------------------------------------