X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fhelpers%2Fdatabase-utils.ts;h=39c74b2fdec9d87e791abb3de9be7b44dbc19083;hb=c1340a6ac35f924161e6ec2a1d728e20c89e55c8;hp=9b861a88ccd3c417bf963ae659979ab57c28482b;hpb=90d4bb8125e80c8060416d4d135ddeaf0a622ede;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/helpers/database-utils.ts b/server/helpers/database-utils.ts index 9b861a88c..39c74b2fd 100644 --- a/server/helpers/database-utils.ts +++ b/server/helpers/database-utils.ts @@ -21,17 +21,21 @@ function retryTransactionWrapper ( arg1: A ): Promise +function retryTransactionWrapper ( + functionToRetry: () => Promise | Bluebird +): Promise + function retryTransactionWrapper ( functionToRetry: (...args: any[]) => Promise | Bluebird, ...args: any[] ): Promise { return transactionRetryer(callback => { - functionToRetry.apply(this, args) + functionToRetry.apply(null, args) .then((result: T) => callback(null, result)) .catch(err => callback(err)) }) .catch(err => { - logger.error('Cannot execute %s with many retries.', functionToRetry.toString(), { err }) + logger.error(`Cannot execute ${functionToRetry.name} with many retries.`, { err }) throw err }) } @@ -58,13 +62,20 @@ function updateInstanceWithAnother > (instanceToUpdate: Model const obj = baseInstance.toJSON() for (const key of Object.keys(obj)) { - instanceToUpdate.set(key, obj[key]) + instanceToUpdate[key] = obj[key] } } +function resetSequelizeInstance (instance: Model, savedFields: object) { + Object.keys(savedFields).forEach(key => { + instance[key] = savedFields[key] + }) +} + // --------------------------------------------------------------------------- export { + resetSequelizeInstance, retryTransactionWrapper, transactionRetryer, updateInstanceWithAnother