X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fdatabase-utils.ts;h=b6ba7fd75a846b449cf127ea511f4ef9d31e3946;hb=472170b4f923a52cceb595221864eab61d624d5b;hp=62738108607f650af0ca63b25de506f4fb4de03f;hpb=e0f49a19ea08921bffd597babfd8c7208c777d92;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/database-utils.ts b/server/helpers/database-utils.ts index 627381086..b6ba7fd75 100644 --- a/server/helpers/database-utils.ts +++ b/server/helpers/database-utils.ts @@ -68,20 +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, savedFields: object) { - Object.keys(savedFields).forEach(key => { - instance[key] = savedFields[key] - }) +// --------------------------------------------------------------------------- + +function resetSequelizeInstance (instance: Model) { + return instance.reload() } function filterNonExistingModels ( @@ -115,7 +113,7 @@ export { resetSequelizeInstance, retryTransactionWrapper, transactionRetryer, - updateInstanceWithAnother, + saveInTransactionWithRetries, afterCommitIfTransaction, filterNonExistingModels, deleteAllModels,