mirror of
https://github.com/graphql-hive/console
synced 2026-05-04 05:58:20 +00:00
30 lines
823 B
JavaScript
30 lines
823 B
JavaScript
require('dotenv').config({
|
|
debug: true,
|
|
encoding: 'utf8',
|
|
});
|
|
|
|
const {
|
|
POSTGRES_USER = 'postgres',
|
|
POSTGRES_PASSWORD = null,
|
|
POSTGRES_HOST = 'localhost',
|
|
POSTGRES_PORT = 5432,
|
|
POSTGRES_DB = 'registry',
|
|
POSTGRES_SSL = null,
|
|
POSTGRES_CONNECTION_STRING = null,
|
|
} = process.env;
|
|
|
|
function cn(dbName = POSTGRES_DB) {
|
|
const user = encodeURIComponent(POSTGRES_USER);
|
|
const password =
|
|
typeof POSTGRES_PASSWORD === 'string' ? `:${encodeURIComponent(POSTGRES_PASSWORD)}` : '';
|
|
const host = encodeURIComponent(POSTGRES_HOST);
|
|
const dbNameEncoded = encodeURIComponent(dbName);
|
|
const sslMode = POSTGRES_SSL ? 'require' : 'disable';
|
|
|
|
return (
|
|
POSTGRES_CONNECTION_STRING ||
|
|
`postgres://${user}${password}@${host}:${POSTGRES_PORT}/${dbNameEncoded}?sslmode=${sslMode}`
|
|
);
|
|
}
|
|
|
|
module.exports = cn;
|