Cambios en el back de inscripciones
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
const Usuario = require('../../db/tablas/Usuario'); // Asegúrate de importar correctamente
|
||||
const inscripcion = require('../../db/tablas/Inscripcion');
|
||||
const enviarCorreoInscripcion = require('../../controller/Profesor/enviarCorreo'); // Ajusta si está en otra ruta
|
||||
const { where } = require('sequelize');
|
||||
|
||||
async function realizarInscripcion(req, res) {
|
||||
const { idUsuario, nombre, numeroCuenta, correo } = req.body;
|
||||
|
||||
try {
|
||||
if (!nombre || !numeroCuenta || !idUsuario) {
|
||||
return res.status(400).json({ message: 'Faltan datos requeridos.' });
|
||||
}
|
||||
|
||||
// 1. Buscar si el usuario existe
|
||||
const usuario = await Usuario.findOne({ where: { numeroCuenta } });
|
||||
|
||||
if (!usuario) {
|
||||
return res.status(404).json({ message: 'Usuario no encontrado en la base de datos.' });
|
||||
}
|
||||
|
||||
// 2. Verificar si ya tiene inscripción
|
||||
const inscripcionExistente = await inscripcion.findOne({
|
||||
where: { idUsuario: usuario.idUsuario }
|
||||
});
|
||||
|
||||
if (inscripcionExistente) {
|
||||
return res.status(200).json({
|
||||
yaInscrito: true,
|
||||
message: 'El usuario ya está inscrito.',
|
||||
});
|
||||
}
|
||||
|
||||
// 3. Crear inscripción
|
||||
await inscripcion.create({
|
||||
idUsuario: usuario.idUsuario,
|
||||
idArea: 1, // Cambiar si se requiere otro valor
|
||||
validacion: 2,
|
||||
confirmacion: false,
|
||||
folio: null,
|
||||
monto: null,
|
||||
hizoPago: null,
|
||||
rutaTicket: null,
|
||||
extension: null,
|
||||
fechaInscripcion: null, // fechaInscripcion: new Date()
|
||||
fechaTicket: null
|
||||
});
|
||||
|
||||
// 4. Realizar confirmacion
|
||||
await inscripcion.update(
|
||||
{ confirmacion: true },
|
||||
{ where: { idUsuario: usuario.idUsuario } }
|
||||
);
|
||||
|
||||
// 5. Enviar correo
|
||||
await enviarCorreoInscripcion(correo, nombre);
|
||||
|
||||
// 6. Respuesta final
|
||||
res.status(200).json({ message: 'Inscripción creada y correo enviado correctamente.' });
|
||||
|
||||
} catch (error) {
|
||||
console.error('Error en realizarInscripcion:', error);
|
||||
res.status(500).json({ message: 'Error al procesar la inscripción o enviar el correo.' });
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { realizarInscripcion };
|
||||
Reference in New Issue
Block a user