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 };