From 3fcb7bb9ba14f17bbe747069979da51596b545b3 Mon Sep 17 00:00:00 2001 From: MightyMoin Date: Fri, 1 Oct 2021 23:31:47 +0530 Subject: [PATCH 1/2] changes in app.js --- app.js | 170 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 82 insertions(+), 88 deletions(-) diff --git a/app.js b/app.js index 7ec44f3..c9843cd 100644 --- a/app.js +++ b/app.js @@ -1,121 +1,116 @@ //Importing npm packages -const express = require("express"); -const http = require("http"); -const cookieParser = require("cookie-parser"); -const cookieSession = require("cookie-session"); -const bodyParser = require("body-parser"); +const express = require('express'); +const http = require('http'); +const cookieParser = require('cookie-parser'); +const cookieSession = require('cookie-session'); +const bodyParser = require('body-parser'); const methodOverride = require('method-override'); -const passport = require("passport"); -const keys = require("./config/keys"); -const socketio = require("socket.io"); +const passport = require('passport'); +const keys = require('./config/keys'); +const socketio = require('socket.io'); const formatMessage = require('./utils/messages'); -const moment = require("moment"); +const moment = require('moment'); //Importing MongoDB models -require("./db/mongoose"); -const User = require("./models/User"); -const webScraper = require("./db/webScraper"); +require('./db/mongoose'); +const User = require('./models/User'); +const webScraper = require('./db/webScraper'); //Importing Routes -const user = require("./routes/user"); -const auth = require("./routes/auth"); -const friend = require("./routes/friend"); +const user = require('./routes/user'); +const auth = require('./routes/auth'); +const friend = require('./routes/friend'); //Variables -const port = process.env.PORT||3000; +const port = process.env.PORT || 3000; const app = express(); -const server=http.createServer(app); +const server = http.createServer(app); const io = socketio(server); app.use(express.json()); -app.set("view engine", "ejs"); +app.set('view engine', 'ejs'); app.use(bodyParser.json()); app.use(methodOverride('_method')); -app.use(express.static("./assets")); +app.use(express.static('./assets')); app.use( - cookieSession({ - name: "session", - keys: [keys.sessionSecret] - }) - ); + cookieSession({ + name: 'session', + keys: [keys.sessionSecret], + }) +); app.use(cookieParser()); //Passport Middleware -require("./middleware/PassportMiddleware"); +require('./middleware/PassportMiddleware'); app.use(passport.initialize()); app.use(passport.session()); -app.use("/user",user); -app.use("/auth",auth); -app.use("/friend",friend); +app.use('/user', user); +app.use('/auth', auth); +app.use('/friend', friend); -app.get("/",(req,res)=>{ - webScraper(); - // console.log(req.user); - if(req.session.token == null){ - res.render("home",{ - currentUser:req.user - }); - }else{ - User.findOne({email:req.user.email},(err,user)=>{ - if(err) Error(err); - if(user){ - res.redirect("/user/dashboard"); - } - }); - } +app.get('/', (req, res) => { + webScraper(); + // console.log(req.user); + if (req.session.token == null) { + res.render('home', { + currentUser: req.user, + }); + } else { + User.findOne({ email: req.user.email }, (err, user) => { + if (err) Error(err); + if (user) { + res.redirect('/user/dashboard'); + } + }); + } }); +io.on('connection', (socket) => { + console.log('New Web Socket Connection'); + // Runs when user joins room + socket.on('joinRoom', ({ user_id }) => { + socket.join(user_id); + console.log('Room Joined'); + }); -io.on('connection',(socket)=>{ - - console.log("New Web Socket Connection"); - - // Runs when user joins room - socket.on('joinRoom',({user_id})=>{ - socket.join(user_id); - console.log("Room Joined"); - }); - // Listen for chat message - socket.on('chatMessage',({msg,friend_id,user_id})=>{ - - User.findOne({_id:user_id},async(err,user)=>{ - User.findOne({_id:friend_id},async (err,friend)=>{ - - user.friends.forEach(async (x,i)=>{ - if(x.friend_id==friend_id){ - user.friends[i].chats.push({ - //sender - user_id, - //receiver - friend_id, - msg, - time:moment().format('h:mm a') - }); - await user.save(); - } + socket.on('chatMessage', ({ msg, friend_id, user_id }) => { + User.findOne({ _id: user_id }, async (err, user) => { + User.findOne({ _id: friend_id }, async (err, friend) => { + user.friends.forEach(async (x, i) => { + if (x.friend_id == friend_id) { + user.friends[i].chats.push({ + //sender + user_id, + //receiver + friend_id, + msg, + time: moment().format('h:mm a'), }); - - friend.friends.forEach(async(y,i)=>{ - if(y.friend_id==user_id){ - friend.friends[i].chats.push({ - user_id, - friend_id, - msg, - time:moment().format('h:mm a') - }); - await friend.save(); - } + await user.save(); + } + }); + + friend.friends.forEach(async (y, i) => { + if (y.friend_id == user_id) { + friend.friends[i].chats.push({ + user_id, + friend_id, + msg, + time: moment().format('h:mm a'), }); + await friend.save(); + } + }); - io.to(user_id).emit('message',formatMessage(user_id,msg,friend_id)); - io.to(friend_id).emit('message',formatMessage(user_id,msg,user_id)); + io.to(user_id).emit('message', formatMessage(user_id, msg, friend_id)); + io.to(friend_id).emit('message', formatMessage(user_id, msg, user_id)); }); }); }); @@ -123,9 +118,8 @@ io.on('connection',(socket)=>{ // socket.on('disconnect',()=>{ // io.emit('message',formatMessage('Chat BOT',"User Disconnected")) // }); -}) - +}); -server.listen(port,()=>{ - console.log("Server started on "+ port + "!"); -}); \ No newline at end of file +server.listen(port, () => { + console.log('Server started on ' + port + '!'); +}); From 543b396c3aa6f46d57a4123e1354dcadb42044c3 Mon Sep 17 00:00:00 2001 From: MightyMoin Date: Fri, 1 Oct 2021 23:39:35 +0530 Subject: [PATCH 2/2] auth.js changes --- routes/auth.js | 64 +++++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/routes/auth.js b/routes/auth.js index dd25c0f..b6f62f4 100644 --- a/routes/auth.js +++ b/routes/auth.js @@ -1,41 +1,41 @@ -const express = require("express"); -const passport = require("passport"); -const User = require("../models/User"); +const express = require('express'); +const passport = require('passport'); +const User = require('../models/User'); const router = express.Router(); router.get( - "/google", - passport.authenticate("google", { - scope: ["profile", "email"], - }) + '/google', + passport.authenticate('google', { + scope: ['profile', 'email'], + }) ); -router.get("/google/callback", -passport.authenticate("google", { failureRedirect: "/" }), - (req,res)=>{ - req.session.token = req.user.accessToken[req.user.accessToken.length-1]; - res.cookie("token",req.session.token); - User.findOne({email:req.user.email},async (err,user)=>{ - if(user){ - res.redirect("/user/dashboard"); - }else{ - res.redirect("/"); - } - }); +router.get( + '/google/callback', + passport.authenticate('google', { failureRedirect: '/' }), + (req, res) => { + req.session.token = req.user.accessToken[req.user.accessToken.length - 1]; + res.cookie('token', req.session.token); + User.findOne({ email: req.user.email }, async (err, user) => { + if (user) { + res.redirect('/user/dashboard'); + } else { + res.redirect('/'); + } + }); } ); -router.get("/logout", (req,res)=>{ - User.findOne({ email: req.user.email },async(err,user)=>{ - user.accessToken.splice(user.accessToken.length-1,1); - await user.save(); - }) - req.logout(); - req.session = null; - req.token = null; - res.cookie("token", ""); - res.redirect("/"); - -}); +router.get('/logout', (req, res) => { + User.findOne({ email: req.user.email }, async (err, user) => { + user.accessToken.splice(user.accessToken.length - 1, 1); + await user.save(); + }); + req.logout(); + req.session = null; + req.token = null; + res.cookie('token', ''); + res.redirect('/'); +}); -module.exports = router; \ No newline at end of file +module.exports = router;