diff --git a/server/config/mariadb.conf.js b/server/config/mariadb.conf.js index 60d1ac8..6367634 100644 --- a/server/config/mariadb.conf.js +++ b/server/config/mariadb.conf.js @@ -9,19 +9,36 @@ const pool = mariadb.createPool({ connectionLimit: 5, // Limitar a 5 conexiones para evitar sobrecarga acquireTimeout: 60000, // Timeout de 60 segundos para adquirir conexión timeout: 60000, // Timeout general + connectionLimit: 5, // Limitar a 5 conexiones para evitar sobrecarga + acquireTimeout: 60000, // Timeout de 60 segundos para adquirir conexión + timeout: 60000, // Timeout general }); const obtenerDatosUsr = async (numeroCuenta) => { let conn; + try { + conn = await pool.getConnection().catch((err) => { + throw new Error('No se pudo conectar con la db. ' + err); + }); + let conn; try { conn = await pool.getConnection().catch((err) => { throw new Error('No se pudo conectar con la db. ' + err); }); + const rows = await conn.query( const rows = await conn.query( `SELECT id_carrera, generacion FROM alumno WHERE id_cuenta = ${numeroCuenta}` ); + return rows[0]; + } catch (err) { + throw new Error('Hubo un problema con el querry.' + err); + } finally { + if (conn) conn.end(); + } + ); + return rows[0]; } catch (err) { throw new Error('Hubo un problema con el querry.' + err); @@ -34,6 +51,11 @@ const obtenerDatosUsr = async (numeroCuenta) => { const buscarProfesorPorNumero = async (numeroTrabajador) => { //console.log("Buscando profesor con numeroCuenta:", numeroTrabajador); + let conn; + try { + conn = await pool.getConnection().catch((err) => { + throw new Error('No se pudo conectar con la base de datos. ' + err); + }); let conn; try { conn = await pool.getConnection().catch((err) => { @@ -67,11 +89,22 @@ const validarPeriodoActivo = async (conn) => { throw new Error('No existe un periodo activo en el sistema'); } return rows; + if (!rows || rows.length === 0) { + console.log('No existe'); + throw new Error('No existe un periodo activo en el sistema'); + } + return rows; }) .catch((err) => { throw new Error('Error al validar periodo activo: ' + err); }); + // console.log('Este es el periodo: ', rows[0]) + // console.log('Este es el id del periodo: ', rows[0].id_periodo) + // return rows[0].id_periodo; + throw new Error('Error al validar periodo activo: ' + err); + }); + // console.log('Este es el periodo: ', rows[0]) // console.log('Este es el id del periodo: ', rows[0].id_periodo) // return rows[0].id_periodo; @@ -88,6 +121,11 @@ const validarAlumnoInscrito = async (idCuenta) => { throw new Error('Error: el número de trabajador no existe'); } + let conn; + try { + conn = await pool.getConnection().catch((err) => { + throw new Error('No se pudo conectar con la base de datos. ' + err); + }); let conn; try { conn = await pool.getConnection().catch((err) => { @@ -106,10 +144,13 @@ const validarAlumnoInscrito = async (idCuenta) => { if (rows.length === 0) return null; return rows[0]; + return rows[0]; } catch (error) { throw new Error('Error al validar alumno inscrito: ' + error); + throw new Error('Error al validar alumno inscrito: ' + error); } finally { if (conn) conn.end(); + if (conn) conn.end(); } // return conn