hapi-mariadb
Version:
A hapi plugin for MariaDB (mariasql) using a simple pooling module.
41 lines (34 loc) • 1.15 kB
JavaScript
exports.register = function(plugin, options, next) {
if (options.useTransact) {
var mariasql_trans = require("mariadb-transact");
plugin.expose("pool", new mariasql_trans(options.connectionCount));
} else if (options.poolAsPromised) {
options.pool = options.pool || "my_pool_sql";
var mariasql_pool = require(options.pool);
var pool = new mariasql_pool(options.connectionCount, options.mariasql);
var Promise = require("bluebird");
Promise.promisifyAll(pool);
plugin.expose("pool", pool);
} else if (options.useMysqlAsPromised) {
var mysql = require("mysql");
var Promise = require("bluebird");
var pool = mysql.createPool(
Object.assign(options.mariasql, {
connectionLimit: options.connectionCount
})
);
Promise.promisifyAll(pool);
plugin.expose("pool", pool);
} else {
options.pool = options.pool || "my_pool_sql";
var mariasql_pool = require(options.pool);
plugin.expose(
"pool",
new mariasql_pool(options.connectionCount, options.mariasql)
);
}
next();
};
exports.register.attributes = {
pkg: require("./package.json")
};