UNPKG

@sumor/database

Version:

A database connector for MySQL, etc. Based on entity.

35 lines (28 loc) 741 B
import getKnex from '../connect/index.js' import getMethods from './methods.js' import getLogger from '../i18n/databaseLogger.js' export default async config => { const logger = getLogger() const report = { workingConnections: 0, alertConnections: 20 } const timer = setInterval(() => { if (report.workingConnections > report.alertConnections) { logger.code('TOO_MANY_CONNECTIONS', { count: report.workingConnections }) } }, 1000) const knex = await getKnex(config) const cache = { info: {} } const connect = async index => getMethods(report, knex, cache, index) const destroy = async () => { await knex.destroy() clearInterval(timer) } return { connect, destroy } }