db-mysql.js 924 Bytes
'use strict';

const mysql = require('mysql');

const config = require('komodo-sdk/config');

const connectionLimit = config.mysql && config.mysql.pool_connection_limit ? config.mysql.pool_connection_limit : 0;

const pool = config.mysql ? mysql.createPool({
    connectionLimit: connectionLimit,
    host: config.mysql.host || 'localhost',
    database: config.mysql.database || 'komodo',
    user: config.mysql.user || 'komodo',
    password: config.mysql.password
}) : null;

exports.pool = pool;

exports.format = (sql, values) => {
    return new Promise((resolve, reject) => {
        if (!pool) {
            reject('Missing DB config');
            return;
        }

        pool.getConnection((err, connection) => {
            if (err) {
                reject(err);
                return;
            }

            resolve(connection.format(sql, values));
            connection.release();
        });
    })
}