knex-utils
Version:
Useful utilities for Knex.js
37 lines • 1.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.checkHeartbeat = exports.HEARTBEAT_QUERIES = void 0;
exports.HEARTBEAT_QUERIES = Object.freeze({
ORACLE: 'select 1 from DUAL',
POSTGRESQL: 'SELECT 1',
MYSQL: 'SELECT 1',
MSSQL: 'SELECT 1',
SQLITE: 'SELECT 1',
DEFAULT: 'SELECT 1',
});
/**
*
* @param {Object} knex - Knex instance
* @param {string} heartbeatQuery - SQL query that will be executed to check if connection is valid
* @returns Promise<{Object|undefined}> wrapped error if connection is not valid, wrapped 'isOk: true' if it is valid, undefined if connection does not yet exist
*/
function checkHeartbeat(knex, heartbeatQuery = exports.HEARTBEAT_QUERIES.DEFAULT) {
if (!knex) {
throw new Error('Knex is a mandatory parameter');
}
return knex
.raw(heartbeatQuery)
.then(() => {
return {
isOk: true,
};
})
.catch((err) => {
return {
isOk: false,
error: err,
};
});
}
exports.checkHeartbeat = checkHeartbeat;
//# sourceMappingURL=heartbeatUtils.js.map
;