Commit e00f0382 authored by Wolfgang Knopki's avatar Wolfgang Knopki
Browse files

pick connection from pool before transaction

parent 0a1273fd
...@@ -3,12 +3,13 @@ import dbconn = require('../config/dbconn') ...@@ -3,12 +3,13 @@ import dbconn = require('../config/dbconn')
var methods = { var methods = {
// ===================== user db ===================== // ===================== user db =====================
registerNewUser: function(data:any, callback:any) { registerNewUser: function(data:any, callback:any) {
dbconn.user.beginTransaction(function(err:any) { // START TRANSACTION dbconn.user.getConnection(function(err:any, thisconn){
thisconn.beginTransaction(function(err:any) { // START TRANSACTION
if (err) { throw err } if (err) { throw err }
// insert profile // insert profile
dbconn.user.query('INSERT INTO user SET ?', data.profile, function (err:any, results:any, fields:any) { thisconn.query('INSERT INTO user SET ?', data.profile, function (err:any, results:any, fields:any) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return thisconn.rollback(function() {
throw err throw err
}); });
} }
...@@ -18,9 +19,9 @@ var methods = { ...@@ -18,9 +19,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:any, results:any, fields:any) { thisconn.query('INSERT INTO credential SET ?', credentialData, function (err:any, results:any, fields:any) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return thisconn.rollback(function() {
throw err throw err
}); });
} }
...@@ -30,9 +31,9 @@ var methods = { ...@@ -30,9 +31,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:any, results:any, fields:any) { thisconn.query('INSERT INTO user_project_role SET ?', projectRoleData, function (err:any, results:any, fields:any) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return thisconn.rollback(function() {
throw err throw err
}); });
} }
...@@ -41,16 +42,16 @@ var methods = { ...@@ -41,16 +42,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:any, results:any, fields:any) { thisconn.query('INSERT INTO verification SET ?', verificationData, function (err:any, results:any, fields:any) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return thisconn.rollback(function() {
throw err throw err
}); });
} }
// COMMIT // COMMIT
dbconn.user.commit(function(err:any) { thisconn.commit(function(err:any) {
if (err) { if (err) {
return dbconn.user.rollback(function() { return thisconn.rollback(function() {
throw err throw err
}) })
} }
...@@ -60,6 +61,8 @@ var methods = { ...@@ -60,6 +61,8 @@ var methods = {
}); });
}); });
callback(err) callback(err)
});
callback(err)
}) })
}, },
getUserByEmail: async function(email:any) { getUserByEmail: async function(email:any) {
......
Markdown is supported
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