Skip to content

Commit e01991c

Browse files
committed
Added callback support, return after rejections
1 parent fbf5a5a commit e01991c

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

index.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,31 @@
33
const fp = require('fastify-plugin')
44
var pg = require('pg')
55

6-
function transactionHelper (query, values) {
6+
function transactionHelper (query, values, cb = null) {
77
return new Promise((resolve, reject) => {
88
this.connect((err, client, done) => {
99
if (err) reject(err)
1010

1111
const shouldAbort = (err) => {
1212
if (err) {
13-
client.query('ROLLBACK', (err) => {
13+
client.query('ROLLBACK', () => {
1414
done()
15-
reject(err)
1615
})
1716
}
1817
return !!err
1918
}
2019

2120
client.query('BEGIN', (err) => {
22-
if (shouldAbort(err)) reject(err)
21+
if (shouldAbort(err)) return cb ? cb(err) : reject(err)
2322
client.query(query, values, (err, res) => {
24-
if (shouldAbort(err)) reject(err)
23+
if (shouldAbort(err)) return cb ? cb(err) : reject(err)
2524

2625
client.query('COMMIT', (err) => {
2726
done()
2827
if (err) {
29-
reject(err)
28+
return cb ? cb(err) : reject(err)
3029
}
31-
resolve(res)
30+
return cb ? cb(null, res) : resolve(res)
3231
})
3332
})
3433
})

0 commit comments

Comments
 (0)