Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b1465cfdb4 | |||
| a4a714616e |
+13
-2
@@ -34,8 +34,19 @@ app.get('/', (req, res) => res.send('API de Inscripciones a CEDETEC'));
|
||||
|
||||
app.use(require('./routes/index'));
|
||||
|
||||
app.listen(Number(process.env.PORT), () =>
|
||||
const port = Number(process.env.PORT) || 3000;
|
||||
const server = app.listen(port, () =>
|
||||
console.log(
|
||||
`API Inscripciones corriendo en el puerto: ${process.env.PORT}`.rainbow
|
||||
`API Inscripciones corriendo en el puerto: ${port}`.rainbow
|
||||
)
|
||||
);
|
||||
|
||||
server.on('error', (error) => {
|
||||
if (error.code === 'EADDRINUSE') {
|
||||
console.error(
|
||||
`Error: el puerto ${port} ya está en uso. Usa otra variable PORT en .env o detén el proceso que lo está ocupando.`
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
throw error;
|
||||
});
|
||||
|
||||
@@ -6,69 +6,75 @@ const pool = mariadb.createPool({
|
||||
user: process.env.USER_DB,
|
||||
password: process.env.PASSWORD_DB,
|
||||
database: process.env.SAT_DB,
|
||||
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) => {
|
||||
const conn = await pool.getConnection().catch((err) => {
|
||||
throw new Error('No se pudo conectar con la db. ' + err);
|
||||
});
|
||||
|
||||
return conn
|
||||
.query(
|
||||
`SELECT id_carrera, generacion FROM alumno WHERE id_cuenta = ${numeroCuenta}`
|
||||
)
|
||||
.then((rows) => {
|
||||
conn.end();
|
||||
return rows[0];
|
||||
})
|
||||
.catch((err) => {
|
||||
conn.end();
|
||||
throw new Error('Hubo un problema con el querry.' + 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(
|
||||
`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();
|
||||
}
|
||||
};
|
||||
|
||||
// Agregue para profesores
|
||||
const buscarProfesorPorNumero = async (numeroTrabajador) => {
|
||||
//console.log("Buscando profesor con numeroCuenta:", numeroTrabajador);
|
||||
|
||||
const 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) => {
|
||||
throw new Error('No se pudo conectar con la base de datos. ' + err);
|
||||
});
|
||||
|
||||
return conn
|
||||
.query(
|
||||
const rows = await conn.query(
|
||||
`SELECT nombre, id_cuenta FROM alumno WHERE id_cuenta = ?`,
|
||||
[numeroTrabajador] // NUmero de cuenta
|
||||
)
|
||||
.then((rows) => {
|
||||
console.log(numeroTrabajador)
|
||||
conn.end();
|
||||
if (rows.length === 0) return null;
|
||||
//console.log('Resultado de la consulta:', rows); // <--- Aquí
|
||||
return rows[0]; // { nombre: 'Juan', rfc: 'JUAP123' }
|
||||
})
|
||||
.catch((err) => {
|
||||
conn.end();
|
||||
throw new Error('Error al buscar el profesor: ' + err);
|
||||
});
|
||||
);
|
||||
|
||||
console.log(numeroTrabajador);
|
||||
if (rows.length === 0) return null;
|
||||
//console.log('Resultado de la consulta:', rows); // <--- Aquí
|
||||
return rows[0]; // { nombre: 'Juan', rfc: 'JUAP123' }
|
||||
} catch (err) {
|
||||
throw new Error('Error al buscar el profesor: ' + err);
|
||||
} finally {
|
||||
if (conn) conn.end();
|
||||
}
|
||||
};
|
||||
|
||||
const validarPeriodoActivo = async (conn) => {
|
||||
const rows = await conn.query(
|
||||
`SELECT id_periodo
|
||||
FROM periodo
|
||||
WHERE activo = b'1'
|
||||
LIMIT 1`
|
||||
);
|
||||
return conn
|
||||
.query(
|
||||
`SELECT id_periodo FROM periodo WHERE activo = b'1' LIMIT 1`
|
||||
)
|
||||
.then((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);
|
||||
});
|
||||
|
||||
if (!rows || rows.length === 0) {
|
||||
console.log('No existe')
|
||||
throw new Error('No existe un periodo activo en el sistema')
|
||||
}
|
||||
|
||||
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;
|
||||
// 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;
|
||||
}
|
||||
|
||||
const validarAlumnoInscrito = async (idCuenta) => {
|
||||
@@ -82,11 +88,12 @@ const validarAlumnoInscrito = async (idCuenta) => {
|
||||
throw new Error('Error: el número de trabajador no existe');
|
||||
}
|
||||
|
||||
const 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) => {
|
||||
throw new Error('No se pudo conectar con la base de datos. ' + err);
|
||||
});
|
||||
|
||||
const idPeriodoActivo = await validarPeriodoActivo(conn);
|
||||
|
||||
console.log("id del periodo: " + idPeriodoActivo)
|
||||
@@ -98,11 +105,11 @@ 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: ' + err)
|
||||
throw new Error('Error al validar alumno inscrito: ' + error);
|
||||
} finally {
|
||||
conn.end()
|
||||
if (conn) conn.end();
|
||||
}
|
||||
|
||||
// return conn
|
||||
|
||||
@@ -7,12 +7,18 @@ const sequelize = new Sequelize(
|
||||
process.env.PASSWORD_DB,
|
||||
{
|
||||
host: process.env.HOST_DB,
|
||||
dialect: process.env.TYPEDB,
|
||||
dialect: process.env.TYPEDB || 'mariadb',
|
||||
logging: false,
|
||||
dialectOptions: {
|
||||
useUTC: false,
|
||||
},
|
||||
timezone: '-06:00',
|
||||
pool: {
|
||||
max: 5, // Máximo 5 conexiones
|
||||
min: 0, // Mínimo 0
|
||||
acquire: 30000, // Tiempo para adquirir conexión (30s)
|
||||
idle: 10000, // Tiempo idle antes de cerrar (10s)
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user