Files
inventory/inventory-server/shared/db/pg.js
T

20 lines
692 B
JavaScript

import pg from 'pg';
const { Pool } = pg;
export function createPool(envPrefix = 'DB', overrides = {}) {
const get = (key) => process.env[`${envPrefix}_${key}`];
return new Pool({
host: overrides.host ?? get('HOST'),
user: overrides.user ?? get('USER'),
password: overrides.password ?? get('PASSWORD'),
database: overrides.database ?? get('NAME'),
port: overrides.port ?? Number(get('PORT')) || 5432,
ssl: (overrides.ssl ?? get('SSL')) === 'true' ? { rejectUnauthorized: false } : false,
max: overrides.max ?? 20,
idleTimeoutMillis: overrides.idleTimeoutMillis ?? 30_000,
connectionTimeoutMillis: overrides.connectionTimeoutMillis ?? 5_000,
});
}