require('./config'); const mariadb = require('mariadb'); const pool = mariadb.createPool({ host: process.env.HOST_DB, user: process.env.USER_DB, password: process.env.PASSWORD_DB, database: process.env.SAT_DB, }); 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); }); }; // 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); }); return conn .query( `SELECT nombre, LPAD(id_cuenta, 9, '0') AS id_cuenta FROM alumno WHERE id_cuenta = ?`, [numeroTrabajador] // NUmero de cuenta ) .then((rows) => { 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); }); }; 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) => { //console.log('Resultado de la consulta alumno_inscrito:', rows); 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); }); }; // 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, }, }); }; module.exports = { buscarProfesorPorNumero, validarAlumnoInscrito };