var mysql = require('mysql2/promise') var pool = null function getPool() { if (pool) return pool pool = mysql.createPool({ host: process.env.DB_HOST || 'localhost', port: parseInt(process.env.DB_PORT || '3306'), user: process.env.DB_USER || 'root', password: process.env.DB_PASSWORD || '', database: process.env.DB_NAME || 'hox', waitForConnections: true, connectionLimit: 10, charset: 'utf8mb4' }) return pool } async function query(sql, params) { var p = getPool() var [rows] = await p.execute(sql, params) return rows } async function insert(sql, params) { var p = getPool() var [result] = await p.execute(sql, params) return result } async function update(sql, params) { var p = getPool() var [result] = await p.execute(sql, params) return result } module.exports = { query: query, insert: insert, update: update, getPool: getPool }