Files
inscripciones_api/server/config/mariadb.conf.js
T
2025-08-09 09:08:26 -06:00

171 lines
4.7 KiB
JavaScript

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);
});
};
<<<<<<< HEAD
const usuarioInscrito = async (numeroCuenta, idArea) => {
const conn = await pool.getConnection().catch((err) => {
throw new Error('No se pudo conectar con la db. ' + err);
=======
// Agregue para profesores
const buscarProfesorPorNumero = async (numeroTrabajador) => {
const conn = await pool2.getConnection().catch((err) => {
throw new Error('No se pudo conectar con la base de datos. ' + err);
>>>>>>> origin/santiago
});
return conn
.query(
<<<<<<< HEAD
`INSERT INTO alumno_inscrito(realizo_pago, id_cuenta, id_periodo, id_plataforma) values(1, ${numeroCuenta}, 22, ${idArea})`
)
.then((rows) => {
conn.end();
return rows[0];
})
.catch((err) => {
conn.end();
throw new Error('Hubo un problema con el querry.' + err);
});
};
const agregarRecibo = async (folio, monto, fechaTicket, numeroCuenta) => {
const conn = await pool.getConnection().catch((err) => {
throw new Error('No se pudo conectar con la db. ' + err);
});
console.log(fechaTicket)
return conn
.query(
`INSERT INTO recibo(folio_recibo, monto, fecha_recibo, fecha_registro, id_cuenta, id_usuario) values(${folio}, ${monto}, '${fechaTicket}', now() ,${numeroCuenta}, 134)`
)
.then((rows) => {
conn.end();
return rows[0];
})
.catch((err) => {
conn.end();
throw new Error('Hubo un problema con el querry.' + err);
});
};
const agregarDetalleServicio = async (monto, numeroCuenta) => {
const conn = await pool.getConnection().catch((err) => {
throw new Error('No se pudo conectar con la db. ' + err);
});
return conn
.query(
`INSERT INTO detalle_servicio(monto, numero_hojas, id_cuenta, id_servicio, id_usuario, id_periodo) values(${monto}, 0, ${numeroCuenta}, 4, 134, 22)`
)
.then((rows) => {
conn.end();
return rows[0];
})
.catch((err) => {
conn.end();
throw new Error('Hubo un problema con el querry.' + err);
});
};
const borrarRecibo = async (folio, numeroCuenta) => {
const conn = await pool.getConnection().catch((err) => {
throw new Error('No se pudo conectar con la db. ' + err);
});
return conn
.query(
`DELETE FROM recibo WHERE folio_recibo = ${folio} AND id_cuenta = ${numeroCuenta} AND id_usuario = 134`
)
.then((rows) => {
conn.end();
return rows[0];
})
.catch((err) => {
conn.end();
throw new Error('Hubo un problema con el querry.' + err);
});
};
const borrarDetalleServicio = async (numeroCuenta) => {
const conn = await pool.getConnection().catch((err) => {
throw new Error('No se pudo conectar con la db. ' + err);
});
return conn
.query(
`DELETE FROM detalle_servicio WHERE id_Cuenta = ${numeroCuenta} AND id_servicio = 4 AND id_periodo = 22`
)
.then((rows) => {
conn.end();
return rows[0];
})
.catch((err) => {
conn.end();
throw new Error('Hubo un problema con el querry.' + err);
});
};
module.exports = {
obtenerDatosUsr,
usuarioInscrito,
agregarRecibo,
agregarDetalleServicio,
borrarRecibo,
borrarDetalleServicio,
};
=======
`SELECT nombre, idUsuario, numeroCuenta FROM usuario WHERE numeroCuenta = ?`,
[numeroTrabajador] // NUmero de cuenta
)
.then((rows) => {
conn.end();
if (rows.length === 0) return null;
return rows[0]; // { nombre: 'Juan', rfc: 'JUAP123' }
})
.catch((err) => {
conn.end();
throw new Error('Error al buscar el profesor: ' + 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: {
user: process.env.CORREO_ORIGEN, // tu correo
pass: process.env.CORREO_PASSWORD, // tu contraseña o app password
},
});
};
module.exports = { obtenerIdCarrera, obtenerCarrera, usuarioInscrito, buscarProfesorPorNumero };
>>>>>>> origin/santiago