← back to Lifestyle Asset Intel
lib/db.js
34 lines
const { Pool } = require('pg');
if (process.env.PGPASSWORD === '') delete process.env.PGPASSWORD;
const pgConfig = {
host: process.env.PGHOST || 'localhost',
port: parseInt(process.env.PGPORT || '5432', 10),
database: process.env.PGDATABASE || 'lifestyle_asset_intel',
user: process.env.PGUSER || process.env.USER,
max: 10,
idleTimeoutMillis: 30000
};
if (process.env.PGPASSWORD && process.env.PGPASSWORD.length > 0) {
pgConfig.password = process.env.PGPASSWORD;
}
const pool = new Pool(pgConfig);
pool.on('error', (err) => {
console.error('[pg pool error]', err.message);
});
module.exports = {
pool,
query: (text, params) => pool.query(text, params),
one: async (text, params) => {
const r = await pool.query(text, params);
return r.rows[0] || null;
},
many: async (text, params) => {
const r = await pool.query(text, params);
return r.rows;
}
};