From b84e10e46f3bd912cd8aabe021168abbe24d7365 Mon Sep 17 00:00:00 2001 From: Kry9toN Date: Wed, 20 Jan 2021 23:20:11 +0700 Subject: [PATCH] initial for database connections --- package.json | 3 ++- utils/db.js | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 utils/db.js diff --git a/package.json b/package.json index f82aba4..33d71fc 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,8 @@ "wa-canvas": "git+https://github.com/Kry9toN/wa-canvas.git", "release-it": "^14.2.2", "cfonts": "^2.9.1", - "node-fetch": "^2.6.1" + "node-fetch": "^2.6.1", + "pg": "^8.5.1" }, "devDependencies": { "babel-eslint": "^10.1.0", diff --git a/utils/db.js b/utils/db.js new file mode 100644 index 0000000..d8af109 --- /dev/null +++ b/utils/db.js @@ -0,0 +1,32 @@ +const { Pool } = require('pg') +const pool = new Pool({ + connectionString: process.env.DATABASE_URL, + connectionTimeoutMillis: 2500, + idleTimeoutMillis: 2000, + max: 10000 +}) + +const databaseInput = (value) => new Promise((resolve, reject) => { + pool.query(value, (err, result) => { + if (err) { + console.error(err) + reject(err) + } + resolve(result) + }) +}) + +const databaseView = (value) => new Promise((resolve, reject) => { + pool.query(value, (err, result) => { + if (err) { + console.error(err) + reject(err) + } + resolve(result.rows) + }) +}) + +module.exports = { + databaseView, + databaseInput +}