7.4.0 • Published 3 years ago
@lanetix/as-user-transaction v7.4.0
node-as-user-transaction
Usage
Setup (v7.0.0+)
import { transaction } from '@lanetix/as-user-transaction'
const aUT = transaction({
schema: `records,public` // which schema(s) to query
dbConfig: 'something' // how to get to a DB; defaults to null in most cases
timeout: '42s' // optional parameter to set the statement timeout
shouldRetry: (err) => false // optional function which takes an error and indicates if the transaction should be retried
})
const asUserTransaction = (user, fn) => aUT({ user, writable: false }, fn) // makes it a read only transaction
asUserTransaction.writable = (user, fn) => aUT({ user, writable: true }, fn) // this is a write friendly transaction
export default asUserTransaction
Execution (v7.0.0+)
import asUserTransaction from './curried-as-user-transaction'
const user = {} // JWT in JSON form
const myResult = await asUserTransaction(user, (query, settings) => query('SELECT 1'))
console.log(myResult) // { rows: [] } # the PG JSON object
Installation
npm i -S @lanetix/as-user-transaction
Logging
This package uses debug
, so you can
log debugging things by setting DEBUG=lx-sql
or DEBUG=lx-pg-pool
to enable
logs for the sql being executed and logs for the connection pool, respectively.
7.4.1-7.4.0-staging.0
3 years ago
7.4.0
7 years ago
7.3.2
7 years ago
7.3.1
7 years ago
7.3.0
7 years ago
7.2.0
7 years ago
7.1.1
7 years ago
7.1.0
7 years ago
7.0.1
7 years ago
7.0.0
7 years ago
6.0.0
7 years ago
5.1.0
7 years ago
5.0.0
8 years ago
4.1.0-test0
8 years ago
4.0.0
8 years ago
4.0.0-test1
8 years ago
3.0.0
8 years ago
2.0.2
8 years ago
2.0.1
8 years ago
2.0.0
8 years ago
1.0.3
8 years ago
1.0.2
9 years ago
1.0.1
9 years ago
1.0.0
9 years ago