minervajs-helmet
Version:
Modulo para la gestion de coneccion a la base de datos, de diferentes tipos mediante el uso de sobre Carga y Herencia de clases
70 lines (63 loc) • 1.73 kB
JavaScript
/**
* @module lib/mariadb
* @description Módulo para la conexión y operaciones de MariaDB.
*/
/**
* @constant
* @type {string}
* @default
*/
const mariadb = require('mariadb/promise');
/**
* Establece una conexión a la base de datos MariaDB.
*
* @async
* @function connect
* @param {object} config - Configuración de la conexión.
* @returns {Promise<mariadb.Connection>} Objeto de conexión de MariaDB.
*/
async function connect(config) {
try {
const connection = await mariadb.createConnection(config);
return connection;
} catch (error) {
console.error('Error al conectar a MariaDB:', error);
throw error;
}
}
/**
* Ejecuta una consulta SQL en la base de datos MariaDB.
*
* @async
* @function query
* @param {mariadb.Connection} connection - Objeto de conexión de MariaDB.
* @param {string} sql - Consulta SQL.
* @param {Array} [values] - Parámetros para la consulta.
* @returns {Promise<Array>} Filas resultantes de la consulta.
*/
async function query(connection, sql, values = []) {
try {
const rows = await connection.query(sql, values);
return rows;
} catch (error) {
console.error('Error al ejecutar la consulta MariaDB:', error);
throw error;
}
}
/**
* Cierra la conexión a la base de datos MariaDB.
*
* @async
* @function close
* @param {mariadb.Connection} connection - Objeto de conexión de MariaDB.
* @returns {Promise<void>}
*/
async function close(connection) {
try {
await connection.end();
} catch (error) {
console.error('Error al cerrar la conexión MariaDB:', error);
throw error;
}
}
module.exports = { connect, query, close };