awesome-rtk
Version:
Awesome Raphael's Tool kit
29 lines • 994 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PostgresConnection = void 0;
const pg_1 = require("pg");
const Utils_1 = require("../../Utils");
const Errors_1 = require("../../Errors");
const Error_1 = require("../../Utils/DB/Error");
class PostgresConnection {
constructor(config) {
this.pool = new pg_1.Pool({ ...config });
}
async query(query, values) {
const client = await this.pool.connect();
try {
const { rows } = await client.query(query, values);
return rows;
}
catch (err) {
if (process.env.NODE_ENV === 'development')
(0, Utils_1.logger)(err);
throw new Errors_1.DatabaseError(err.message, (0, Error_1.postgresErrorMapper)(err.code), 'postgres', err.code);
}
finally {
client.release();
}
}
}
exports.PostgresConnection = PostgresConnection;
//# sourceMappingURL=PostgresConnection.js.map