Files
inscripciones_api/server/config/mariadb.conf.js
T

98 lines
2.7 KiB
JavaScript
Raw Normal View History

2022-01-24 14:33:16 -06:00
require('./config');
const mariadb = require('mariadb');
const pool = mariadb.createPool({
2022-03-03 23:09:14 -06:00
host: process.env.HOST_DB,
user: process.env.USER_DB,
password: process.env.PASSWORD_DB,
database: process.env.SAT_DB,
2022-01-24 14:33:16 -06:00
});
const obtenerDatosUsr = async (numeroCuenta) => {
const conn = await pool.getConnection().catch((err) => {
2022-01-24 14:33:16 -06:00
throw new Error('No se pudo conectar con la db. ' + err);
});
return conn
.query(
`SELECT id_carrera, generacion FROM alumno WHERE id_cuenta = ${numeroCuenta}`
)
2022-01-24 14:33:16 -06:00
.then((rows) => {
conn.end();
2022-01-26 00:21:54 -06:00
return rows[0];
2022-01-24 14:33:16 -06:00
})
.catch((err) => {
conn.end();
throw new Error('Hubo un problema con el querry.' + err);
});
};
2025-08-09 09:08:26 -06:00
// Agregue para profesores
const buscarProfesorPorNumero = async (numeroTrabajador) => {
2025-08-09 18:16:56 -06:00
//console.log("Buscando profesor con numeroCuenta:", numeroTrabajador);
2025-08-09 15:16:09 -06:00
const conn = await pool.getConnection().catch((err) => {
2025-08-09 09:08:26 -06:00
throw new Error('No se pudo conectar con la base de datos. ' + err);
2022-03-03 23:09:14 -06:00
});
return conn
.query(
2025-08-09 18:16:56 -06:00
`SELECT nombre, LPAD(id_cuenta, 9, '0') AS id_cuenta FROM alumno WHERE id_cuenta = ?`,
2025-07-28 15:33:09 -06:00
[numeroTrabajador] // NUmero de cuenta
)
.then((rows) => {
conn.end();
if (rows.length === 0) return null;
2025-08-09 18:16:56 -06:00
//console.log('Resultado de la consulta:', rows); // <--- Aquí
2025-07-28 15:33:09 -06:00
return rows[0]; // { nombre: 'Juan', rfc: 'JUAP123' }
})
.catch((err) => {
conn.end();
throw new Error('Error al buscar el profesor: ' + err);
});
};
2025-08-09 18:16:56 -06:00
const validarAlumnoInscrito = async (idCuenta) => {
console.log("Validando alumno inscrito con id_cuenta:", idCuenta);
const conn = await pool.getConnection().catch((err) => {
throw new Error('No se pudo conectar con la base de datos. ' + err);
});
return conn
.query(
`SELECT * FROM alumno_inscrito WHERE id_cuenta = ?`,
[idCuenta]
)
.then((rows) => {
2025-08-09 18:52:17 -06:00
//console.log('Resultado de la consulta alumno_inscrito:', rows);
2025-08-09 18:16:56 -06:00
conn.end();
if (rows.length === 0) return null;
return rows[0]; // Devuelve el primer registro encontrado
})
.catch((err) => {
conn.end();
throw new Error('Error al validar alumno inscrito: ' + err);
});
};
2025-07-28 15:33:09 -06:00
// Para envios de correos
const nodemailer = require('nodemailer');
const enviarCorreoInscripcion = async (destinatario, nombreProfesor) => {
const transporter = nodemailer.createTransport({
service: 'gmail', // o smtp host como 'smtp.mailtrap.io'
auth: {
type: 'OAuth2',
user: process.env.CORREO_ORIGEN,
clientId: process.env.CLIENT_ID,
clientSecret: process.env.CLIENT_SECRET,
refreshToken: process.env.REFRESH_TOKEN,
2025-07-28 15:33:09 -06:00
},
});
};
2025-08-09 18:16:56 -06:00
module.exports = { buscarProfesorPorNumero, validarAlumnoInscrito };