X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fdatabase-utils.ts;h=b6ba7fd75a846b449cf127ea511f4ef9d31e3946;hb=472170b4f923a52cceb595221864eab61d624d5b;hp=0e6b3550371e721624652166ea03d2435538b5c6;hpb=4565774669bc3c1b11cc726d577946953dbe53c5;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/database-utils.ts b/server/helpers/database-utils.ts index 0e6b35503..b6ba7fd75 100644 --- a/server/helpers/database-utils.ts +++ b/server/helpers/database-utils.ts @@ -68,18 +68,18 @@ function transactionRetryer (func: (err: any, data: T) => any) { }) } -// --------------------------------------------------------------------------- - -function updateInstanceWithAnother > (instanceToUpdate: T, baseInstance: U) { - const obj = baseInstance.toJSON() - - for (const key of Object.keys(obj)) { - instanceToUpdate[key] = obj[key] - } +function saveInTransactionWithRetries > (model: T) { + return retryTransactionWrapper(() => { + return sequelizeTypescript.transaction(async transaction => { + await model.save({ transaction }) + }) + }) } +// --------------------------------------------------------------------------- + function resetSequelizeInstance (instance: Model) { - instance.set(instance.previous()) + return instance.reload() } function filterNonExistingModels ( @@ -113,7 +113,7 @@ export { resetSequelizeInstance, retryTransactionWrapper, transactionRetryer, - updateInstanceWithAnother, + saveInTransactionWithRetries, afterCommitIfTransaction, filterNonExistingModels, deleteAllModels,