90 lines
2.5 KiB
JavaScript
90 lines
2.5 KiB
JavaScript
const enviarCorreoInscripcion = require('../../controller/Profesor/enviarCorreo'); // Ajusta si está en otra ruta
|
|
const Alumno = require('../../db/tablas/Alumno');
|
|
const AlumnoInscrito = require('../../db/tablas/AlumnoInscrito');
|
|
|
|
async function realizarInscripcion(req, res) {
|
|
const { id_cuenta, nombre, correo } = req.body;
|
|
|
|
try {
|
|
|
|
if (!nombre || !id_cuenta) {
|
|
return res.status(400).json({ message: 'Faltan datos requeridos.' });
|
|
}
|
|
|
|
|
|
// 1. Buscar si el usuario existe
|
|
const usuario = await Alumno.findOne({ where: { id_cuenta } });
|
|
|
|
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 AlumnoInscrito.findOne({
|
|
where: {
|
|
id_cuenta: usuario.id_cuenta,
|
|
id_periodo: 28
|
|
}
|
|
});
|
|
|
|
console.log('Inscripcion:', inscripcionExistente)
|
|
|
|
if (inscripcionExistente) {
|
|
return res.status(200).json({
|
|
message: 'El usuario ya está inscrito.',
|
|
});
|
|
}
|
|
|
|
// // Validacion del periodo
|
|
// const periodoActivo = await Periodo.findOne({
|
|
// where: {
|
|
// activo: 1 // o true
|
|
// }
|
|
// });
|
|
|
|
// if (!periodoActivo) {
|
|
// throw new Error("No hay un periodo activo");
|
|
// }
|
|
|
|
|
|
|
|
// 3. Crear inscripción
|
|
await AlumnoInscrito.create({
|
|
id_cuenta: usuario.id_cuenta,
|
|
id_periodo: 28,
|
|
id_plataforma: 5,
|
|
fecha_inscripcion: new Date(),
|
|
tiempo_disponible: 3600,
|
|
realizo_pago: 0,
|
|
platica: 1,
|
|
ad: 0
|
|
});
|
|
|
|
|
|
// 4. Realizar confirmacion
|
|
await AlumnoInscrito.update(
|
|
{ platica: 1 },
|
|
{ where: { id_cuenta: usuario.id_cuenta } }
|
|
);
|
|
|
|
|
|
console.log(correo)
|
|
console.log(nombre)
|
|
// 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);
|
|
//console.log('Datos recibidos para inscripción:', req.body);
|
|
|
|
res.status(500).json({ message: 'Error al procesar la inscripción o enviar el correo.' });
|
|
}
|
|
}
|
|
|
|
module.exports = { realizarInscripcion };
|