8.0.3 • Published 6 months ago

postgresql-service v8.0.3

Weekly downloads
23
License
MIT
Repository
github
Last release
6 months ago

postgresql-service

A simple wrapper around node-pg

GitHub license Coverage Status

This simple service covers my own usage of the pg module. I only use transactions and queries and I use dependency injection with Knifecycle.

It also sets up a few tweaks I have to do for each projects like avoiding to mess up with dates.

Tagged templates

You may like to use pgsqwell with this module.

API

initPGService(services) ⇒ Promise.<Object>

Instantiate the pg service

Kind: global function
Returns: Promise.<Object> - A promise of the pg service

ParamTypeDescription
servicesObjectThe services to inject
services.logfunctionA logging function
services.PG_URL_ENV_NAMEObjectThe environment variable name in which to pick-up the PG url
services.ENVObjectAn environment object
services.PGObjectA pg compatible configuration object

Example

import initPGService from 'postgresql-service';

const { service: pg, dispose } = await initPGService({
  log: console.log.bind(console),
  ENV: process.env, // Proxy the PG_URL env var
});

const result = pg.query('SELECT 1');

await dispose();

initPGService~query() ⇒ String | Object

Executes the given query

Kind: inner method of initPGService
Returns: String - Query to executeObject - Arguments hash for the query
Example

const { rows, fields } = await pg.query(
   'SELECT * FROM users WHERE user = $$userId',
   { userId: 1 }
);

initPGService~queries() ⇒ Array.<String> | Object

Executes the given queries in parallel (using the connections pool)

Kind: inner method of initPGService
Returns: Array.<String> - Queries to executeObject - Arguments hashes for the queries
Example

const [{ rows, fields }, { rows2, fields2 }] = await pg.queries([
   'SELECT * FROM users WHERE user = $$userId',
   'SELECT * FROM users WHERE user = $$userId',
], { userId: 1 });

initPGService~transaction() ⇒ Array.<String> | Object

Executes the given queries in a single transaction

Kind: inner method of initPGService
Returns: Array.<String> - Queries to executeObject - Arguments hashes for the queries
Example

const [, { rows, fields }] = await pg.transaction([
   'UPDATE users SET isActive = true WHERE user = $$userId',
   'SELECT * FROM users WHERE user = $$userId',
], { userId: 1 });

Authors

License

MIT

8.0.3

6 months ago

7.0.0

9 months ago

8.0.1

9 months ago

8.0.0

9 months ago

8.0.2

9 months ago

6.0.4

1 year ago

6.0.3

2 years ago

5.0.2

2 years ago

6.0.1

2 years ago

6.0.0

2 years ago

6.0.2

2 years ago

5.0.1

3 years ago

5.0.0

3 years ago

4.1.1

3 years ago

4.1.0

3 years ago

4.0.0

3 years ago

3.0.1

4 years ago

3.0.0

4 years ago

2.0.0-beta.5

4 years ago

2.0.0

4 years ago

2.0.0-beta.4

4 years ago

2.0.0-beta.2

4 years ago

2.0.0-beta.3

4 years ago

2.0.0-beta.1

4 years ago

2.0.0-beta.0

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.0

4 years ago

1.0.0

6 years ago