Commit 698c4aea authored by Rosanny Sihombing's avatar Rosanny Sihombing
Browse files

rewrite getUserByEmail using mysql2

This commit is part of merge request !73. Comments created here will be created in the context of that merge request.
Showing with 54 additions and 34 deletions
+54 -34
const dbconn = require('./dbconn'); const dbconn_OBSOLETE = require('./dbconn') // DO NOT USE THIS FOR NEW FEATURE
const dbconn = require('./dbconn2')
var methods = { var methods = {
// ===================== user db ===================== // ===================== user db =====================
registerNewUser: function(data, callback) { registerNewUser: function(data, callback) {
dbconn.user.beginTransaction(function(err) { // START TRANSACTION dbconn_OBSOLETE.user.beginTransaction(function(err) { // START TRANSACTION
if (err) { if (err) {
throw err throw err
} }
// insert profile // insert profile
dbconn.user.query('INSERT INTO user SET ?', data.profile, function (err, results, fields) { dbconn_OBSOLETE.user.query('INSERT INTO user SET ?', data.profile, function (err, results, fields) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return dbconn_OBSOLETE.user.rollback(function() {
throw err throw err
}); });
} }
...@@ -20,9 +21,9 @@ var methods = { ...@@ -20,9 +21,9 @@ var methods = {
user_id: newUserId, user_id: newUserId,
password: data.password password: data.password
} }
dbconn.user.query('INSERT INTO credential SET ?', credentialData, function (err, results, fields) { dbconn_OBSOLETE.user.query('INSERT INTO credential SET ?', credentialData, function (err, results, fields) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return dbconn_OBSOLETE.user.rollback(function() {
throw err throw err
}); });
} }
...@@ -32,9 +33,9 @@ var methods = { ...@@ -32,9 +33,9 @@ var methods = {
role_id: 2, // USER role_id: 2, // USER
user_id: newUserId user_id: newUserId
} }
dbconn.user.query('INSERT INTO user_project_role SET ?', projectRoleData, function (err, results, fields) { dbconn_OBSOLETE.user.query('INSERT INTO user_project_role SET ?', projectRoleData, function (err, results, fields) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return dbconn_OBSOLETE.user.rollback(function() {
throw err throw err
}); });
} }
...@@ -43,16 +44,16 @@ var methods = { ...@@ -43,16 +44,16 @@ var methods = {
user_id: newUserId, user_id: newUserId,
token: data.verificationToken token: data.verificationToken
} }
dbconn.user.query('INSERT INTO verification SET ?', verificationData, function (err, results, fields) { dbconn_OBSOLETE.user.query('INSERT INTO verification SET ?', verificationData, function (err, results, fields) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return dbconn_OBSOLETE.user.rollback(function() {
throw err throw err
}); });
} }
// COMMIT // COMMIT
dbconn.user.commit(function(err) { dbconn_OBSOLETE.user.commit(function(err) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return dbconn_OBSOLETE.user.rollback(function() {
throw err throw err
}) })
} }
...@@ -64,8 +65,8 @@ var methods = { ...@@ -64,8 +65,8 @@ var methods = {
callback(err) callback(err)
}) })
}, },
getUserByEmail: function(email, callback) { getUserByEmail_OBSOLETE: function(email, callback) {
dbconn.user.query('SELECT id, verificationStatus, salutation, title, firstname, lastname, industry, organisation, speciality, m4lab_idp FROM user WHERE email = "' +email+'"', function (err, rows, fields) { dbconn_OBSOLETE.user.query('SELECT id, verificationStatus, salutation, title, firstname, lastname, industry, organisation, speciality, m4lab_idp FROM user WHERE email = "' +email+'"', function (err, rows, fields) {
let user let user
if (err) { throw err } if (err) { throw err }
else { else {
...@@ -76,8 +77,17 @@ var methods = { ...@@ -76,8 +77,17 @@ var methods = {
callback(user, err) callback(user, err)
}); });
}, },
getUserByEmail: async function(email) {
try {
let rows = await dbconn.user.promise().query('SELECT id, verificationStatus, salutation, title, firstname, lastname, industry, organisation, speciality, m4lab_idp FROM user WHERE email = "' +email+'"')
return rows[0][0]
} catch (err) {
console.error(err)
return err
}
},
getUserById: function(userId, callback) { getUserById: function(userId, callback) {
dbconn.user.query('SELECT verificationStatus, email, salutation, title, firstname, lastname, industry, organisation, speciality FROM user WHERE id = ' +userId, function (err, rows, fields) { dbconn_OBSOLETE.user.query('SELECT verificationStatus, email, salutation, title, firstname, lastname, industry, organisation, speciality FROM user WHERE id = ' +userId, function (err, rows, fields) {
let user let user
if (err) { throw err } if (err) { throw err }
else { else {
...@@ -90,7 +100,7 @@ var methods = { ...@@ -90,7 +100,7 @@ var methods = {
}, },
checkUserEmail: function(email, callback) { checkUserEmail: function(email, callback) {
let user let user
dbconn.user.query('SELECT id, email FROM user WHERE email = "' +email+'"', function (err, rows) { dbconn_OBSOLETE.user.query('SELECT id, email FROM user WHERE email = "' +email+'"', function (err, rows) {
if (err) { throw err } if (err) { throw err }
else { else {
if ( rows.length > 0) { if ( rows.length > 0) {
...@@ -102,7 +112,7 @@ var methods = { ...@@ -102,7 +112,7 @@ var methods = {
}, },
getUserByToken: function(token, callback) { getUserByToken: function(token, callback) {
let user let user
dbconn.user.query('SELECT t1.user_id, t2.email FROM userdb.credential AS t1 INNER JOIN userdb.user AS t2 ON t1.user_id = t2.id AND t1.resetPasswordToken = "' dbconn_OBSOLETE.user.query('SELECT t1.user_id, t2.email FROM userdb.credential AS t1 INNER JOIN userdb.user AS t2 ON t1.user_id = t2.id AND t1.resetPasswordToken = "'
+token+'" and resetPasswordExpires > '+Date.now(), function (err, rows, fields) { +token+'" and resetPasswordExpires > '+Date.now(), function (err, rows, fields) {
if (err) { throw err } if (err) { throw err }
else { else {
...@@ -115,20 +125,20 @@ var methods = { ...@@ -115,20 +125,20 @@ var methods = {
) )
}, },
updateUserById: function(userData, callback) { updateUserById: function(userData, callback) {
dbconn.user.query('UPDATE user SET ? WHERE id = ' +userData.id, userData, function (err, rows, fields) { dbconn_OBSOLETE.user.query('UPDATE user SET ? WHERE id = ' +userData.id, userData, function (err, rows, fields) {
if (err) throw err if (err) throw err
callback(err) callback(err)
}) })
}, },
updateCredential: function(data, callback) { updateCredential: function(data, callback) {
dbconn.user.query('UPDATE credential SET ? WHERE user_id = ' +data.user_id, data, function (err, rows, fields) { dbconn_OBSOLETE.user.query('UPDATE credential SET ? WHERE user_id = ' +data.user_id, data, function (err, rows, fields) {
if (err) throw err if (err) throw err
callback(err) callback(err)
}) })
}, },
getUserIdByEmail: function(email, callback) { getUserIdByEmail: function(email, callback) {
let userId let userId
dbconn.user.query('SELECT id FROM user WHERE email = "' +email+'"', function (err, rows, fields) { dbconn_OBSOLETE.user.query('SELECT id FROM user WHERE email = "' +email+'"', function (err, rows, fields) {
if (err) { if (err) {
throw err throw err
} }
...@@ -141,20 +151,20 @@ var methods = { ...@@ -141,20 +151,20 @@ var methods = {
}); });
}, },
getUserProjectRole: function(userId, callback) { getUserProjectRole: function(userId, callback) {
dbconn.user.query('SELECT project_id, role_id FROM user_project_role WHERE user_id = "' +userId+'"', function (err, rows, fields) { dbconn_OBSOLETE.user.query('SELECT project_id, role_id FROM user_project_role WHERE user_id = "' +userId+'"', function (err, rows, fields) {
if (err) throw err if (err) throw err
callback(rows, err) callback(rows, err)
}); });
}, },
addUserProjectRole: function(data, callback) { addUserProjectRole: function(data, callback) {
dbconn.user.query('INSERT INTO user_project_role SET ?', data, function (err, results, fields){ dbconn_OBSOLETE.user.query('INSERT INTO user_project_role SET ?', data, function (err, results, fields){
if (err) throw err if (err) throw err
callback(err) callback(err)
}) })
}, },
getVerificationTokenByUserId: function(userId, callback) { getVerificationTokenByUserId: function(userId, callback) {
let token let token
dbconn.user.query('SELECT token FROM verification WHERE user_id = "' +userId+'"', function (err, rows, fields) { dbconn_OBSOLETE.user.query('SELECT token FROM verification WHERE user_id = "' +userId+'"', function (err, rows, fields) {
if (err) { if (err) {
throw err throw err
} }
...@@ -168,7 +178,7 @@ var methods = { ...@@ -168,7 +178,7 @@ var methods = {
}, },
getUserIdByVerificationToken: function(token, callback) { getUserIdByVerificationToken: function(token, callback) {
let userId let userId
dbconn.user.query('SELECT user_id FROM verification WHERE token = "' +token+'"', function (err, rows, fields) { dbconn_OBSOLETE.user.query('SELECT user_id FROM verification WHERE token = "' +token+'"', function (err, rows, fields) {
if (err) { if (err) {
throw err throw err
} }
...@@ -179,22 +189,22 @@ var methods = { ...@@ -179,22 +189,22 @@ var methods = {
}) })
}, },
verifyUserAccount: function(userData, callback) { verifyUserAccount: function(userData, callback) {
dbconn.user.beginTransaction(function(err) { // START TRANSACTION dbconn_OBSOLETE.user.beginTransaction(function(err) { // START TRANSACTION
if (err) { throw err } if (err) { throw err }
// update user status // update user status
dbconn.user.query('UPDATE user SET ? WHERE id =' +userData.id, userData, function (err, rows, fields) { dbconn_OBSOLETE.user.query('UPDATE user SET ? WHERE id =' +userData.id, userData, function (err, rows, fields) {
if (err) { if (err) {
return dbconn.user.rollback(function() { throw err }) return dbconn_OBSOLETE.user.rollback(function() { throw err })
} }
// delete verification token // delete verification token
dbconn.user.query('DELETE FROM verification WHERE user_id = '+userData.id, function (err, rows, fields) { dbconn_OBSOLETE.user.query('DELETE FROM verification WHERE user_id = '+userData.id, function (err, rows, fields) {
if (err) { if (err) {
return dbconn.user.rollback(function() { throw err }) return dbconn_OBSOLETE.user.rollback(function() { throw err })
} }
// COMMIT // COMMIT
dbconn.user.commit(function(err) { dbconn_OBSOLETE.user.commit(function(err) {
if (err) { if (err) {
return dbconn.user.rollback(function() { throw err }) return dbconn_OBSOLETE.user.rollback(function() { throw err })
} }
}) })
}) })
...@@ -203,9 +213,9 @@ var methods = { ...@@ -203,9 +213,9 @@ var methods = {
}) })
}, },
/* ===== GitLab ===== */ /* ===== GitLab ===== */
getGitlabId: function(userId, callback){ getGitlabId_OBSOLETE: function(userId, callback){
let gitlabUserId let gitlabUserId
dbconn.user.query('SELECT gu.gitlab_userId FROM user_gitlab gu, user u WHERE u.id = "' +userId+'" and gu.user_id = u.id', function (err, rows) { dbconn_OBSOLETE.user.query('SELECT gu.gitlab_userId FROM user_gitlab gu, user u WHERE u.id = "' +userId+'" and gu.user_id = u.id', function (err, rows) {
if (err) { if (err) {
throw err throw err
} }
...@@ -215,8 +225,18 @@ var methods = { ...@@ -215,8 +225,18 @@ var methods = {
callback(gitlabUserId, err) callback(gitlabUserId, err)
}) })
}, },
getGitlabId: async function(userId) {
try {
let rows = await dbconn.user.promise().query('SELECT gu.gitlab_userId FROM user_gitlab gu, user u WHERE u.id = "' +userId+'" and gu.user_id = u.id')
return rows[0][0].gitlab_userId
}
catch(err) {
console.error(err)
return err
}
},
addGitlabUser: function(data, callback){ addGitlabUser: function(data, callback){
dbconn.user.query('INSERT INTO user_gitlab SET ?', data, function (err) { dbconn_OBSOLETE.user.query('INSERT INTO user_gitlab SET ?', data, function (err) {
if (err) throw err if (err) throw err
callback(err) callback(err)
}) })
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment