diff options
author | Chocobozzz <florian.bigard@gmail.com> | 2017-01-15 19:53:11 +0100 |
---|---|---|
committer | Chocobozzz <florian.bigard@gmail.com> | 2017-01-15 19:53:11 +0100 |
commit | 4df023f2d4e4ea93d3fbc6010f0460511ba45140 (patch) | |
tree | 02f8df3be3d9a3fff943aa186daed22f0825f266 /server/controllers/api/remote | |
parent | 9bce75925eb972f7a49c25250e636b7b76734475 (diff) | |
download | PeerTube-4df023f2d4e4ea93d3fbc6010f0460511ba45140.tar.gz PeerTube-4df023f2d4e4ea93d3fbc6010f0460511ba45140.tar.zst PeerTube-4df023f2d4e4ea93d3fbc6010f0460511ba45140.zip |
Server: create transaction refractoring
Diffstat (limited to 'server/controllers/api/remote')
-rw-r--r-- | server/controllers/api/remote/videos.js | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/server/controllers/api/remote/videos.js b/server/controllers/api/remote/videos.js index 9d007246f..33b521c5f 100644 --- a/server/controllers/api/remote/videos.js +++ b/server/controllers/api/remote/videos.js | |||
@@ -10,7 +10,7 @@ const secureMiddleware = middlewares.secure | |||
10 | const videosValidators = middlewares.validators.remote.videos | 10 | const videosValidators = middlewares.validators.remote.videos |
11 | const signatureValidators = middlewares.validators.remote.signature | 11 | const signatureValidators = middlewares.validators.remote.signature |
12 | const logger = require('../../../helpers/logger') | 12 | const logger = require('../../../helpers/logger') |
13 | const utils = require('../../../helpers/utils') | 13 | const databaseUtils = require('../../../helpers/database-utils') |
14 | 14 | ||
15 | const router = express.Router() | 15 | const router = express.Router() |
16 | 16 | ||
@@ -71,7 +71,7 @@ function addRemoteVideoRetryWrapper (videoToCreateData, fromPod, finalCallback) | |||
71 | errorMessage: 'Cannot insert the remote video with many retries.' | 71 | errorMessage: 'Cannot insert the remote video with many retries.' |
72 | } | 72 | } |
73 | 73 | ||
74 | utils.retryWrapper(addRemoteVideo, options, finalCallback) | 74 | databaseUtils.retryTransactionWrapper(addRemoteVideo, options, finalCallback) |
75 | } | 75 | } |
76 | 76 | ||
77 | function addRemoteVideo (videoToCreateData, fromPod, finalCallback) { | 77 | function addRemoteVideo (videoToCreateData, fromPod, finalCallback) { |
@@ -79,11 +79,7 @@ function addRemoteVideo (videoToCreateData, fromPod, finalCallback) { | |||
79 | 79 | ||
80 | waterfall([ | 80 | waterfall([ |
81 | 81 | ||
82 | function startTransaction (callback) { | 82 | databaseUtils.startSerializableTransaction, |
83 | db.sequelize.transaction({ isolationLevel: 'SERIALIZABLE' }).asCallback(function (err, t) { | ||
84 | return callback(err, t) | ||
85 | }) | ||
86 | }, | ||
87 | 83 | ||
88 | function findOrCreateAuthor (t, callback) { | 84 | function findOrCreateAuthor (t, callback) { |
89 | const name = videoToCreateData.author | 85 | const name = videoToCreateData.author |
@@ -180,7 +176,7 @@ function updateRemoteVideoRetryWrapper (videoAttributesToUpdate, fromPod, finalC | |||
180 | errorMessage: 'Cannot update the remote video with many retries' | 176 | errorMessage: 'Cannot update the remote video with many retries' |
181 | } | 177 | } |
182 | 178 | ||
183 | utils.retryWrapper(updateRemoteVideo, options, finalCallback) | 179 | databaseUtils.retryWrapper(updateRemoteVideo, options, finalCallback) |
184 | } | 180 | } |
185 | 181 | ||
186 | function updateRemoteVideo (videoAttributesToUpdate, fromPod, finalCallback) { | 182 | function updateRemoteVideo (videoAttributesToUpdate, fromPod, finalCallback) { |
@@ -188,11 +184,7 @@ function updateRemoteVideo (videoAttributesToUpdate, fromPod, finalCallback) { | |||
188 | 184 | ||
189 | waterfall([ | 185 | waterfall([ |
190 | 186 | ||
191 | function startTransaction (callback) { | 187 | databaseUtils.startSerializableTransaction, |
192 | db.sequelize.transaction({ isolationLevel: 'SERIALIZABLE' }).asCallback(function (err, t) { | ||
193 | return callback(err, t) | ||
194 | }) | ||
195 | }, | ||
196 | 188 | ||
197 | function findVideo (t, callback) { | 189 | function findVideo (t, callback) { |
198 | fetchVideo(fromPod.host, videoAttributesToUpdate.remoteId, function (err, videoInstance) { | 190 | fetchVideo(fromPod.host, videoAttributesToUpdate.remoteId, function (err, videoInstance) { |