diff --git a/ChatService/app/routes.js b/ChatService/app/routes.js index 376ebb01dbe641a3bd9a0d6256361c87cf4b3219..45e19693e17a55dd0b47e0dd9e271a4c7f046a58 100644 --- a/ChatService/app/routes.js +++ b/ChatService/app/routes.js @@ -107,7 +107,7 @@ module.exports = function(app) { // driver want to find order app.post('/findorder', function(req, res){ - Driver.findOne({"idDriver" : req.body.id}, function(err, foundDriver){ + Driver.findOne({"idDriver" : Number (req.body.id)}, function(err, foundDriver){ if (err){ var response = {"status" : 503, "message" : "Database error detected"}; res.json(response); @@ -132,7 +132,7 @@ module.exports = function(app) { // user select certain driver app.post('/selectdriver', function(req, res){ - Driver.findOne({"idDriver" : req.body.id, "status" : "available"}, function(err, foundDriver){ + Driver.findOne({"idDriver" : Number (req.body.id), "status" : "available"}, function(err, foundDriver){ if (!err && foundDriver){ foundDriver["status"] = "acceptorder"; foundDriver.save(); @@ -148,7 +148,7 @@ module.exports = function(app) { // user finishes their order app.post('/finishorder', function(req, res){ - Driver.findOne({"idDriver" : req.body.id, "status" : "acceptorder"}, function(err, foundDriver){ + Driver.findOne({"idDriver" : Number (req.body.id), "status" : "acceptorder"}, function(err, foundDriver){ if (!err && foundDriver){ foundDriver["status"] = "available"; foundDriver.save(); @@ -165,14 +165,14 @@ module.exports = function(app) { // FOR HANDLING FCM TOKEN USER // add user fcm token app.post('/addfcmtoken', function(req, res){ - FcmToken.findOne({"id" : req.body.id}, function(err, foundUser){ + FcmToken.findOne({"id" : Number (req.body.id)}, function(err, foundUser){ if (err){ var response = {"status" : 503, "message" : "Database error detected"}; res.json(response); } else { if (!foundUser){ - FcmToken.create({"id" : req.body.id, "token" : req.body.token}, function(error, addUser){ + FcmToken.create({"id" : Number (req.body.id), "token" : req.body.token}, function(error, addUser){ if(!error && addUser){ var response = {"status" : 200, "message" : "User token has been added to token list"}; res.json(response); @@ -190,7 +190,7 @@ module.exports = function(app) { // delete user fcm token app.post('/deletefcmtoken', function(req, res){ - FcmToken.findOne({"id" : req.body.id}, function(err, foundUser){ + FcmToken.findOne({"id" : Number (req.body.id)}, function(err, foundUser){ if (err){ var response = {"status" : 503, "message" : "Database error detected"}; res.json(response); @@ -217,6 +217,19 @@ module.exports = function(app) { }) // CHAT SERVICE + // Get chat history + app.get('/chathistory', function(req, res){ + var idUser = Number (req.query.idUser); + var idDriver = Number (req.query.idDriver); + Chat.findOne({"idUser" : idUser, "idDriver" : idDriver}, function(err, chat){ + if(err){ + res.json({"error" : "yes"}); + } else { + res.json(chat.history); + } + }); + }); + // Send message from passangger app.post('/sendmessagefrompassangger', function(req, res){ var senderToken = req.body.token; diff --git a/ChatService/server.js b/ChatService/server.js index b5484984c6c569b528be2dc2dc9a19b2b58d908a..8edddf9b9df29d0d94f4d74ba84da031eaa3f6a4 100644 --- a/ChatService/server.js +++ b/ChatService/server.js @@ -24,7 +24,24 @@ app.use(bodyParser.urlencoded({ extended: true })); // parse application/x-www-f app.use(methodOverride('X-HTTP-Method-Override')); // override with the X-HTTP-Method-Override header in the request. simulate DELETE/PUT app.use(express.static(__dirname + '/public')); // set the static files location /public/img will be /img for users +app.use(function (req, res, next) { + // Website you wish to allow to connect + res.setHeader('Access-Control-Allow-Origin', '*'); + + // Request methods you wish to allow + res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); + + // Request headers you wish to allow + res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); + + // Set to true if you need the website to include cookies in the requests sent + // to the API (e.g. in case you use sessions) + res.setHeader('Access-Control-Allow-Credentials', true); + + // Pass to next layer of middleware + next(); +}); // routes ================================================== require('./app/routes')(app); // pass our application into our routes (comment out if routes has been made)