Files
inscripciones_api/server/controller/Profesor/inscripcionProfesor.js
T
2025-08-09 18:16:56 -06:00

64 lines
2.2 KiB
JavaScript

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