From bdab5f5ddd286c504f4c0e8f66f8a8378e88012a Mon Sep 17 00:00:00 2001 From: Siddharth Dungarwal Date: Tue, 20 Feb 2018 14:07:53 +0530 Subject: [PATCH 1/4] Variable Name changed. Added a helper to add user to contest when b_code is added. --- routes/oneauth.js | 2 +- routes/users.js | 2 ++ services/oneauth.js | 6 +++--- services/user.js | 14 ++++++++++++++ 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/routes/oneauth.js b/routes/oneauth.js index e3695f8f..abd618c6 100644 --- a/routes/oneauth.js +++ b/routes/oneauth.js @@ -22,7 +22,7 @@ router.get('/login', (req, res, next) => { } OneAuth.addAuthTokenToDb(grantCode).then((result) => { //TODO: Handle the case when grant_code is wrong - if(!result.verifiedemail) { + if(!result.verifiedEmail) { res.status(405).json({error: "Unverified Email"}); return; } diff --git a/routes/users.js b/routes/users.js index 0d4f4ee1..05098621 100644 --- a/routes/users.js +++ b/routes/users.js @@ -70,8 +70,10 @@ router.get('/:user_id', function (req, res, next) { router.patch('/:id', UserPolicy.PATCHPolicy, (req,res)=>{ const user = jsonapi.deserialize('user',req.body); UserService.updateUser(user).then(result=>{ + UserService.addToContest(user.b_code,res.locals.user.id) res.sendStatus(204); }).catch(function (err) { + console.log(err); jsonapi.error(res, 500, err); }); diff --git a/services/oneauth.js b/services/oneauth.js index d9892c8b..7aa476bf 100644 --- a/services/oneauth.js +++ b/services/oneauth.js @@ -15,12 +15,12 @@ const Raven = require ('raven'); const addAuthTokenToDb = function(grant_code) { - let authToken, oauthId, verifiedemail; + let authToken, oauthId, verifiedEmail; return OneAuthRepo.getAuthToken(grant_code).then((result) => { authToken = result.access_token; return OneAuthRepo.getUserDetails(authToken); }).then(result => { - verifiedemail = result.verifiedemail; + verifiedEmail = result.verifiedemail; let userObj = {}; oauthId = userObj.oauth_id = result.id; userObj.access_token = authToken; @@ -53,7 +53,7 @@ const addAuthTokenToDb = function(grant_code) { Raven.captureException (err) }); } - return {authToken, oauthId, user: result, refreshToken: session.refreshToken, verifiedemail}; + return {authToken, oauthId, user: result, refreshToken: session.refreshToken, verifiedEmail}; }); }; diff --git a/services/user.js b/services/user.js index a469d542..a5acae28 100644 --- a/services/user.js +++ b/services/user.js @@ -5,6 +5,8 @@ const User = require('../models/user'); const UserRole = require('../models/user_role'); const Problem = require('../models/problem'); const Submission = require('../models/submission'); +const CStudent = require('../models/student_contest'); +const Contest = require('../models/contest'); const getUser = function (userId, isMe, isChatModule) { if (isMe) { @@ -84,6 +86,18 @@ const updateUser = function (user) { }); }; +const addToContest = function (b_code,userId) { + console.log(b_code); + return Contest.findAll({ + where: {batch_code:b_code}, + }).then(result => { + return result.forEach((contest)=>{ + CStudent.create({created_by:userId,user_id:userId,contest_id:contest.id}, {returning: true}); + }); + }); +}; + +exports.addToContest = addToContest; exports.getUser = getUser; exports.getUsers = getUsers; exports.updateUser = updateUser; From ddfb2e3d81ac09f61eb4a46330e72a04bfb97c27 Mon Sep 17 00:00:00 2001 From: Siddharth Dungarwal Date: Tue, 20 Feb 2018 14:13:27 +0530 Subject: [PATCH 2/4] Removed log. --- routes/users.js | 1 - 1 file changed, 1 deletion(-) diff --git a/routes/users.js b/routes/users.js index 05098621..6f0ec48d 100644 --- a/routes/users.js +++ b/routes/users.js @@ -73,7 +73,6 @@ router.patch('/:id', UserPolicy.PATCHPolicy, (req,res)=>{ UserService.addToContest(user.b_code,res.locals.user.id) res.sendStatus(204); }).catch(function (err) { - console.log(err); jsonapi.error(res, 500, err); }); From b0a8a25fb88b347bf5d18907a15bcee1830f925f Mon Sep 17 00:00:00 2001 From: Siddharth Dungarwal Date: Tue, 20 Feb 2018 15:12:26 +0530 Subject: [PATCH 3/4] Removed log. --- services/user.js | 1 - 1 file changed, 1 deletion(-) diff --git a/services/user.js b/services/user.js index a5acae28..9c8f9f4a 100644 --- a/services/user.js +++ b/services/user.js @@ -87,7 +87,6 @@ const updateUser = function (user) { }; const addToContest = function (b_code,userId) { - console.log(b_code); return Contest.findAll({ where: {batch_code:b_code}, }).then(result => { From 809cb937f3da174a39d410ce9bbdc5fcb24c79ac Mon Sep 17 00:00:00 2001 From: Siddharth Dungarwal Date: Tue, 20 Feb 2018 15:30:17 +0530 Subject: [PATCH 4/4] Added Bulk create and Raven. --- services/user.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/services/user.js b/services/user.js index 9c8f9f4a..b4adf9a2 100644 --- a/services/user.js +++ b/services/user.js @@ -7,6 +7,7 @@ const Problem = require('../models/problem'); const Submission = require('../models/submission'); const CStudent = require('../models/student_contest'); const Contest = require('../models/contest'); +const Raven = require ('raven'); const getUser = function (userId, isMe, isChatModule) { if (isMe) { @@ -90,9 +91,15 @@ const addToContest = function (b_code,userId) { return Contest.findAll({ where: {batch_code:b_code}, }).then(result => { - return result.forEach((contest)=>{ - CStudent.create({created_by:userId,user_id:userId,contest_id:contest.id}, {returning: true}); + let cstudents = [] + result.forEach((contest)=>{ + cstudents.push({created_by:userId,user_id:userId,contest_id:contest.id}); }); + return cstudents; + }).then(cstudents => { + return CStudent.bulkCreate(cstudents, {returning: true}); + }).catch(err=>{ + Raven.captureException(err); }); };