Spaces:
Running
Running
| const user = require("../models/UserModel"); | |
| const account = require("../models/AuthenticationModel"); | |
| const md5 = require("md5"); | |
| const { v4: uuidv4 } = require('uuid'); | |
| const asyncHandeler = require("express-async-handler"); | |
| const { response } = require("express"); | |
| const TeamModel = require("../models/TeamModel"); | |
| const couponsModel = require("../models/CouponModel"); | |
| const LeaderboardModel = require("../models/LeaderboardModel"); | |
| const { connectTeamSocket } = require("../sockets/UserSockets"); | |
| const { updateLeaderBoard } = require("../sockets/LeaderBoardUpdated"); | |
| exports.login_get = asyncHandeler(async (req, res) => { | |
| console.log("login user detected"); | |
| res.send("this is a handelled login route"); | |
| }); | |
| exports.login_post = asyncHandeler(async (req, res) => { | |
| var login = require("../middlewares/UserLoginMiddleware"); | |
| //console.log(req.body) | |
| var resp = await login.attempt(req.body.username, req.body.password); | |
| if (resp != false) { | |
| var session_id = uuidv4(); | |
| var acc = new account({ | |
| UserID: resp._id, | |
| SessionID: session_id, | |
| TeamId: resp.TeamID, | |
| Status: 1 | |
| }); | |
| await account.findOneAndDelete({ UserID: resp._id }); | |
| await acc.save(); | |
| let users = await user.findOne({ _id: resp._id }) | |
| //console.log(req.body.code) | |
| if(req.body.code) | |
| { | |
| // console.log(await couponsModel.exists({ Code: req.body.code })) | |
| try { | |
| if(await couponsModel.exists({Coupon:req.body.code})) | |
| { | |
| var teamLeaderboard=await LeaderboardModel.findOne({ TeamID: resp.TeamID,Round:0 }); | |
| if(teamLeaderboard.Points<=5) | |
| { | |
| teamLeaderboard.Points+=5; | |
| await couponsModel.findOneAndDelete({Coupon:req.body.code}); | |
| await teamLeaderboard.save(); | |
| res.cookie('SessionID', session_id, { | |
| sameSite: 'None', | |
| httponly: true, secure: true,// This should be used when serving over HTTPS | |
| }); | |
| updateLeaderBoard(req) | |
| res.send("You have been awarded 5 points for using a code"); | |
| } | |
| else | |
| { | |
| res.send("You have already exceeded the maximum points for using a code"); | |
| } | |
| } | |
| else{ | |
| res.send("Invalid Hidden Code"); | |
| } | |
| } catch (error) { | |
| res.send("Something went wrong") | |
| console.log(error) | |
| } | |
| } | |
| else | |
| { | |
| res.cookie('SessionID', session_id, { | |
| sameSite: 'None', | |
| httponly: true, secure: true,// This should be used when serving over HTTPS | |
| }); | |
| res.send("Login Successful"); | |
| } | |
| } | |
| else | |
| res.send("Invalid Credentials"); | |
| }); | |