Asignar estudiantes a un evento¶
✅ PUT /api/v2/registration/assign-students-to-event¶
Método/Ruta: PUT /api/v2/registration/assign-students-to-event
Auth: Bearer JWT (rol: admin/user)
Descripción: Asigna o desasigna estudiantes a un evento (clase del calendario).
Validación importante: No permite asignar estudiantes con matrícula en estado pending. Los estudiantes con matrícula pendiente serán rechazados y reportados en la respuesta. Sí permite quitar estudiantes sin importar su estado de matrícula.
Params¶
No aplica (usa body)
Body¶
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
eventId |
number | Sí | ID del evento del calendario |
employeeId |
string/number | Sí | ID del empleado (profesor) |
subjectId |
number | Sí | ID de la materia |
centerId |
number | Sí | ID del centro |
idsStudents |
number[] | Sí | Array de IDs de estudiantes a asignar |
cURL¶
curl -X PUT "http://localhost:7001/api/v2/registration/assign-students-to-event" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <TOKEN>" \
-d '{
"eventId": 1271,
"employeeId": "40",
"subjectId": 1,
"centerId": 1,
"idsStudents": [1341, 1350]
}'
Response (200 OK)¶
{
"status": "success",
"data": {
"assignedStudents": [1341],
"removedStudents": [1355],
"rejectedStudents": [
{
"studentId": 1350,
"reason": "Registration status is pending"
}
]
}
}
| Campo | Descripción |
|---|---|
assignedStudents |
IDs de estudiantes que fueron asignados exitosamente |
removedStudents |
IDs de estudiantes que fueron removidos del evento |
rejectedStudents |
Estudiantes rechazados con el motivo (matrícula pending) |
Response con estudiantes rechazados por matrícula pending¶
Cuando se intenta asignar estudiantes con matrícula en estado pending, el endpoint no falla pero reporta cuáles fueron rechazados:
{
"status": "success",
"data": {
"assignedStudents": [],
"removedStudents": [],
"rejectedStudents": [
{
"studentId": 1350,
"reason": "Registration status is pending"
},
{
"studentId": 1352,
"reason": "Registration status is pending"
}
]
}
}
Importante:
- El endpoint siempre devuelve 200 OK aunque haya estudiantes rechazados
- El frontend debe revisar el array rejectedStudents para informar al usuario
- Si rejectedStudents.length > 0, mostrar mensaje indicando qué estudiantes no pudieron ser asignados y por qué
Errors¶
400 Bad Request - Parámetros faltantes¶
401 Unauthorized - Token inválido o expirado¶
Notas¶
- Este endpoint reemplaza a
PUT /api/v1/registration/update - Nueva validación: No permite asignar estudiantes con matrícula
pending - Sí permite quitar estudiantes sin importar su estado de matrícula
- Actualiza automáticamente el
employeeIden las matrículas de los estudiantes asignados - Quita el
employeeIdde las matrículas de los estudiantes removidos - Actualiza la relación Employee-Subject automáticamente
Relacionado¶
GET /api/v2/registration/students-by-subject-and-center- Obtener estudiantes disponibles (con estado de matrícula)GET /api/v2/registration/students-assigned-to-event- Ver estudiantes ya asignados a un evento