]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/helpers/database-utils.js
Server: use a request scheduler object instance for friends
[github/Chocobozzz/PeerTube.git] / server / helpers / database-utils.js
index 046717517e0d1c4611c5cc15a6b8f4dedb2341b9..c72d194298dd3c35d553198bad8d4886684ba3e2 100644 (file)
@@ -6,9 +6,27 @@ const db = require('../initializers/database')
 const logger = require('./logger')
 
 const utils = {
+  commitTransaction,
   retryTransactionWrapper,
-  transactionRetryer,
-  startSerializableTransaction
+  rollbackTransaction,
+  startSerializableTransaction,
+  transactionRetryer
+}
+
+function commitTransaction (t, callback) {
+  return t.commit().asCallback(callback)
+}
+
+function rollbackTransaction (err, t, callback) {
+  // Try to rollback transaction
+  if (t) {
+    // Do not catch err, report the original one
+    t.rollback().asCallback(function () {
+      return callback(err)
+    })
+  } else {
+    return callback(err)
+  }
 }
 
 // { arguments, errorMessage }
@@ -43,7 +61,6 @@ function transactionRetryer (func, callback) {
 }
 
 function startSerializableTransaction (callback) {
-  console.log(db)
   db.sequelize.transaction({ isolationLevel: 'SERIALIZABLE' }).asCallback(function (err, t) {
     // We force to return only two parameters
     return callback(err, t)