Socket
Socket
Sign inDemoInstall

@lanetix/as-user-transaction

Package Overview
Dependencies
Maintainers
27
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lanetix/as-user-transaction

Creates a transaction in the scope of a user.


Version published
Weekly downloads
0
Maintainers
27
Weekly downloads
 
Created
Source

CircleCI codecov js-standard-style

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.

FAQs

Package last updated on 20 Jan 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc