Feature/slot and schedule by trainers #17
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request: Implementación de Gestión de Cupos y Horarios por Entrenadores
🔍 Resumen
Este PR implementa la funcionalidad completa para que los entrenadores puedan gestionar cupos, horarios, y hacer seguimiento de asistencia de estudiantes, cumpliendo con el requisito #5 del sprint.
✅ Funcionalidades implementadas
Visualización de estudiantes inscritos
Registro de asistencia
Estadísticas de asistencia
Consulta de detalles de sesión
🔧 Detalles de implementación
Endpoints añadidos:
Cambios en UserController.java:
getRegisteredStudentscon autorización solo para entrenadoresrecordStudentAttendancecon validaciones de fecha y horagetAttendanceStatisticspara análisis de datosgetSessionByIdpara consulta detallada de sesionesCambios en GymSessionServiceImpl.java:
getRegisteredStudentsForSessionpara recuperar la lista de estudiantesgetTrainerAttendanceStatisticspara cálculo de métricasgetSessionByIdpara obtener detalles completos de una sesiónValidaciones y seguridad:
@PreAuthorize("hasRole('TRAINER') or hasRole('ADMIN')")🧪 Pruebas
Para probar la funcionalidad, usar Postman con las siguientes peticiones:
Ver estudiantes de una sesión:
Registrar asistencia:
Nota: La hora debe estar dentro del horario de la sesión.
Consultar estadísticas:
Ver detalles de una sesión:
📝 TODOs pendientes para futuras iteraciones