From 4997f7969332a85bb42c65f13f8f4d42f8004db3 Mon Sep 17 00:00:00 2001
From: Shaikh Rezwan Rafid Ahmad <sa03267@surrey.ac.uk>
Date: Thu, 16 Mar 2023 20:04:04 +0000
Subject: [PATCH] verifyUser middleware controller added

---
 .../server/controllers/appController.js       | 20 +++++++++++++++++++
 .../server/router/route.js                    |  2 +-
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/daily-thought-user-service/server/controllers/appController.js b/daily-thought-user-service/server/controllers/appController.js
index 4b45351d..fcb989a9 100644
--- a/daily-thought-user-service/server/controllers/appController.js
+++ b/daily-thought-user-service/server/controllers/appController.js
@@ -3,6 +3,26 @@ import bcrypt from 'bcrypt';
 import jwt from 'jsonwebtoken';
 import ENV from '../config.js'
 
+
+// Middleware
+export async function verifyUser(req,res, next){
+
+    try{
+
+        const { username } = req.method == 'GET' ? req.query : req.body;
+
+        // Check if user exists
+        let exist = await UserModel.findOne( {username } );
+        if(!exist) return res.status(404).send({ error: "Can't find User"});
+        next();
+
+    } catch (error) {
+    
+        return res.status(404).send({ error: "Authentication Error"})
+    }
+}
+
+
 /** POST: http://localhost:8080/api/register
  * @param : {
   "username" : "example123",
diff --git a/daily-thought-user-service/server/router/route.js b/daily-thought-user-service/server/router/route.js
index aaaedbfe..b3266113 100644
--- a/daily-thought-user-service/server/router/route.js
+++ b/daily-thought-user-service/server/router/route.js
@@ -5,6 +5,6 @@ const router = Router();
 
 // /** POST Methods */
 router.route('/register').post(controller.register); // Register
-router.route('/login').post(controller.login); // Login
+router.route('/login').post(controller.verifyUser, controller.login); // Login
 
 export default router;
\ No newline at end of file
-- 
GitLab