Listar Cursos (1) - [listar]
🧾 Descripción
Este servicio obtiene todos los cursos asignados a un empleado o estudiante, basándose en su puesto (designation / puesto académico).
El flujo evalúa primero si el DNI pertenece a un Empleado, y si no, valida si pertenece a un Estudiante.
Con el puesto encontrado, se consultan los cursos vinculados y finalmente se retornan los detalles del curso desde tabCourse.
El servicio interactúa con:
-
tabEmployee -
tabStudent -
tabPuesto Curso -
tabCourse
🚀 Endpoint
POST /listar
📥 Request Body
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| dni | string | ✔ | DNI del empleado o estudiante para identificar su puesto. |
🔐 Seguridad
-
Requiere autenticación interna del ERP vía
dbErp(). -
No requiere token externo del cliente.
🧠 Flujo del Servicio (Resumen real)
1. Buscar si el DNI pertenece a un Empleado activo
Consulta a: tabEmployee
con filtros:
-
passport_number = DNI
-
status = Active
-
designation IS NOT NULL
Si se encuentra → extrae el designation.
2. Si no es empleado, verificar si es Estudiante activo
Consulta a: tabStudent
con filtros:
-
dni = DNI
-
enabled = 1
Si se encuentra → extrae el campo puesto.
3. Si no existe puesto asignado
Retorna mensaje:
4. Buscar cursos asignados al puesto
Consulta a: tabPuesto Curso
filtrando por:
-
designation = puestoEmpleado
Obtiene los parent → IDs de los cursos asignados.
5. Obtener información de los cursos
Consulta a: tabCourse
Retorna campos:
-
name
-
hero_image
6. Respuesta final
Se devuelve el listado de cursos con sus imágenes.
📤 Response 200 – Ejemplo
❗ Posibles Errores
1. No existe empleado NI estudiante con ese DNI
2. Puesto sin cursos configurados
3. Error al obtener datos del ERP
📚 Tablas y Campos utilizados
🔸 tabEmployee
Campos:
-
passport_number
-
designation
-
status
🔸 tabStudent
Campos:
-
dni
-
enabled
-
puesto
🔸 tabPuesto Curso
Campos:
-
designation
-
parent (ID del curso)
🔸 tabCourse
Campos:
-
name
-
hero_image
No hay comentarios para mostrar
No hay comentarios para mostrar