+function runInReadCommittedTransaction <T> (fn: (t: Transaction) => Promise<T>) {
+ const options = { isolationLevel: Transaction.ISOLATION_LEVELS.READ_COMMITTED }
+
+ return sequelizeTypescript.transaction(options, t => fn(t))
+}
+
+function afterCommitIfTransaction (t: Transaction, fn: Function) {
+ if (t) return t.afterCommit(() => fn())
+
+ return fn()
+}
+
+// ---------------------------------------------------------------------------
+