- retry({
- times: 5,
-
- errorFilter: err => {
- const willRetry = (err.name === 'SequelizeDatabaseError')
- logger.debug('Maybe retrying the transaction function.', { willRetry })
- return willRetry
- }
- }, func, (err, data) => err ? rej(err) : res(data))
+ retry(
+ {
+ times: 5,
+
+ errorFilter: err => {
+ const willRetry = (err.name === 'SequelizeDatabaseError')
+ logger.debug('Maybe retrying the transaction function.', { willRetry, err })
+ return willRetry
+ }
+ },
+ func,
+ (err, data) => err ? rej(err) : res(data)
+ )
+ })
+}
+
+function updateInstanceWithAnother <T extends Model<T>> (instanceToUpdate: Model<T>, baseInstance: Model<T>) {
+ const obj = baseInstance.toJSON()
+
+ for (const key of Object.keys(obj)) {
+ instanceToUpdate.set(key, obj[key])
+ }
+}
+
+function resetSequelizeInstance (instance: Model<any>, savedFields: object) {
+ Object.keys(savedFields).forEach(key => {
+ const value = savedFields[key]
+ instance.set(key, value)