From b1d285cad4a06229b66625f64914716bb4cc4d12 Mon Sep 17 00:00:00 2001
From: adyanf <adyanaufalf@gmail.com>
Date: Wed, 22 Nov 2017 12:05:36 +0700
Subject: [PATCH] adding fcm token handler routes

---
 ChatService/app/routes.js | 55 +++++++++++++++++++++++++++++++++++++--
 1 file changed, 53 insertions(+), 2 deletions(-)

diff --git a/ChatService/app/routes.js b/ChatService/app/routes.js
index 1088e00f6..250f5cedc 100644
--- a/ChatService/app/routes.js
+++ b/ChatService/app/routes.js
@@ -1,7 +1,13 @@
 module.exports = function(app) {
+
+        // Load Models
         var Driver         = require('./models/driver');
-        // server routes ===========================================================
+        var FcmToken         = require('./models/fcmtoken');
+        var Chat           = require('./models/chat');        
+        
+        // ====================== SERVER ROUTES ============================
 
+        // FOR HANDLING DRIVER STATUS
         // see available driver
         app.get('/availabledriver', function(req, res){
             Driver.find({"status" : "available"}, function(err, foundDriver){
@@ -66,8 +72,53 @@ 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){
+                if (err){
+                    var response = {"status" : 503, "message" : "Database error detected"};
+                    res.json(response);
+                }
+                else {
+                    if (!foundUser){
+                        FcmToken.create({"id" : req.body.id, "status" : "available"}, function(error, addUser){
+                            if(!error && addUser){
+                                var response = {"status" : 200, "message" : "User token has been added to token list"};
+                                res.json(response);    
+                            }
+                        });
+                    } else {
+                        foundUser["token"] = req.body.token;
+                        foundUser.save();
+                        var response = {"status" : 200, "message" : "User token has been updated"};
+                        res.json(response);
+                    }
+                }
+            });
+        });
+
+        // delete user fcm token
+        app.post('/deletefcmtoken', function(req, res){
+            FcmToken.findOne({"id" : req.body.id}, function(err, foundUser){
+                if (err){
+                    var response = {"status" : 503, "message" : "Database error detected"};
+                    res.json(response);
+                }
+                else {
+                    foundUser.remove();
+                    var response = {"status" : 200, "message" : "User token has been deleted"};
+                    res.json(response);
+                }
+            });
+        });
+
+        // Chat Service
+        
+
+
+        // ====================== FRONTEND ROUTES ============================
 
-        // frontend routes =========================================================
         // route to handle all angular requests
         app.get('*', function(req, res) {
             res.send('./public/index.html');
-- 
GitLab