ddl-manager
Version:
store postgres procedures and triggers in files
46 lines • 1.46 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getDbClient = void 0;
const pg_1 = __importDefault(require("pg"));
const lodash_1 = __importDefault(require("lodash"));
const defaultConfig = {
database: undefined,
user: undefined,
password: undefined,
host: "localhost",
port: 5432,
unfreeze: false
};
async function getDbClient(dbConfig) {
if ("query" in dbConfig) {
return dbConfig;
}
const config = parseDbConfig(dbConfig);
const DAY = 24 * 60 * 60 * 1000;
const pool = new pg_1.default.Pool(Object.assign(Object.assign({ max: 100 }, config), { idleTimeoutMillis: DAY, connectionTimeoutMillis: DAY }));
return pool;
}
exports.getDbClient = getDbClient;
function parseDbConfig(inputConfig) {
const config = lodash_1.default.clone(defaultConfig);
if ("database" in inputConfig) {
config.database = inputConfig.database;
}
if ("user" in inputConfig) {
config.user = inputConfig.user;
}
if ("password" in inputConfig) {
config.password = inputConfig.password;
}
if ("host" in inputConfig) {
config.host = inputConfig.host;
}
if ("port" in inputConfig) {
config.port = inputConfig.port;
}
return config;
}
//# sourceMappingURL=getDbClient.js.map