Newer
Older
var Q = require('q');
var mysql2 = require('mysql2');
var instances = {};
function DB() {
this.pool = null;
}
/**
* Setup the Database connection pool for this instance
* @param {Object} config
*/
DB.prototype.configure = function (config) {
};
/**
* Run DB query
* @param {String} query
* @param {Object} [params]
* @return {Promise}
*/
DB.prototype.query = function (query, params) {
params = params || {};
return Q.Promise(function (resolve, reject) {
db.pool.getConnection(function (err, con) {
con.query(query, params, function (err) {
if (err) {
if (con) {
con.release();
}
reject(err);
}
resolve([].splice.call(arguments, 1));
con.release();
});
});
});
};
/**
* Run DB execute
* @param {String} query
* @param {Object} [params]
* @return {Promise}
*/
DB.prototype.execute = function (query, params) {
params = params || {};
return Q.Promise(function (resolve, reject) {
db.pool.getConnection(function (err, con) {
con.execute(query, params, function (err) {
if (err) {
if (con) {
con.release();
}
reject(err);
}
resolve([].splice.call(arguments, 1));
con.release();
});
});
});
};
module.exports = function (name) {
name = name || '_default_';