diff options
Diffstat (limited to 'server/helpers/database-utils.ts')
-rw-r--r-- | server/helpers/database-utils.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/server/helpers/database-utils.ts b/server/helpers/database-utils.ts index fb8ad22b0..78ca768b9 100644 --- a/server/helpers/database-utils.ts +++ b/server/helpers/database-utils.ts | |||
@@ -1,5 +1,6 @@ | |||
1 | import * as retry from 'async/retry' | 1 | import * as retry from 'async/retry' |
2 | import * as Bluebird from 'bluebird' | 2 | import * as Bluebird from 'bluebird' |
3 | import { Model } from 'sequelize-typescript' | ||
3 | import { logger } from './logger' | 4 | import { logger } from './logger' |
4 | 5 | ||
5 | type RetryTransactionWrapperOptions = { errorMessage: string, arguments?: any[] } | 6 | type RetryTransactionWrapperOptions = { errorMessage: string, arguments?: any[] } |
@@ -34,9 +35,18 @@ function transactionRetryer <T> (func: (err: any, data: T) => any) { | |||
34 | }) | 35 | }) |
35 | } | 36 | } |
36 | 37 | ||
38 | function updateInstanceWithAnother <T> (instanceToUpdate: Model<T>, baseInstance: Model<T>) { | ||
39 | const obj = baseInstance.toJSON() | ||
40 | |||
41 | for (const key of Object.keys(obj)) { | ||
42 | instanceToUpdate.set(key, obj[key]) | ||
43 | } | ||
44 | } | ||
45 | |||
37 | // --------------------------------------------------------------------------- | 46 | // --------------------------------------------------------------------------- |
38 | 47 | ||
39 | export { | 48 | export { |
40 | retryTransactionWrapper, | 49 | retryTransactionWrapper, |
41 | transactionRetryer | 50 | transactionRetryer, |
51 | updateInstanceWithAnother | ||
42 | } | 52 | } |