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 || !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 alumno_inscrito.findOne({ where: { id_cuenta: usuario.id_cuenta } }); if (inscripcionExistente) { return res.status(200).json({ message: 'El usuario ya está inscrito.', }); } // 3. Crear inscripción await alumno_inscrito.create({ id_cuenta: usuario.idUsuario, id_periodo: 1, id_plataforma: 1, fecha_inscripcion: new Date(), tiempo_disponible: 3600, realizo_pago: 0, platica: 0, ad: 0 }); // 4. Realizar confirmacion await alumno_inscrito.update( { platica: 1 }, { where: { id_cuenta: usuario.id_cuenta } } ); // 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 };