## Documentacion nueva: - API-ADMIN-MODULE.md: 22 controllers, 150+ endpoints documentados - TRIGGERS-INVENTORY.md: 111 triggers de BD documentados por schema ## Actualizaciones: - MASTER_INVENTORY.yml v4.0.0: Metricas corregidas - Database: 15 schemas, 132 tablas, 111 triggers - Backend: 16 modulos, 103 services, 76 controllers - Frontend: 497 componentes, 102 hooks, 64 paginas - API.md: Seccion Admin Portal API agregada - LOG-IMPLEMENTACION.md: P1-001 a P1-003 completados Progreso auditoria: P0 100%, P1 43% 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
15 KiB
API ADMIN MODULE
Proyecto: GAMILIT - Plataforma Educativa Gamificada Modulo: Admin Version: 1.0 Fecha: 2025-12-23 Generado por: Auditoria de Documentacion
RESUMEN
| Metrica | Valor |
|---|---|
| Controllers | 22 |
| Services | 22 |
| Endpoints | 150+ |
| Entidades | 6 |
| Roles requeridos | super_admin |
CONTROLLERS
AdminAlertsController- Sistema de alertasAdminAnalyticsController- Analisis y reportesAdminAssignmentsController- Gestion de asignacionesAdminBulkOperationsController- Operaciones masivasAdminContentController- Gestion de contenidoAdminDashboardController- Dashboard principalAdminDashboardActivityController- Actividad del dashboardAdminDashboardStatsController- Estadisticas del dashboardAdminGamificationConfigController- Configuracion de gamificacionAdminInterventionsController- Alertas de intervencionAdminLogsController- Logs del sistemaAdminMonitoringController- Monitoreo del sistemaAdminOrganizationsController- Gestion de organizacionesAdminProgressController- Seguimiento de progresoAdminReportsController- ReportesAdminRolesController- Roles y permisosAdminSystemController- Sistema y configuracionAdminUserStatsController- Estadisticas de usuariosAdminUsersController- Gestion de usuariosClassroomAssignmentsController- Asignacion de aulasClassroomTeachersRestController- REST API aulas-profesoresFeatureFlagsController- Feature flags
1. DASHBOARD ENDPOINTS
GET /admin/dashboard
Descripcion: Dashboard completo con estadisticas agregadas
GET /admin/dashboard/stats
Descripcion: Solo estadisticas del sistema
GET /admin/dashboard/recent-activity
Descripcion: Actividad reciente del sistema
GET /admin/dashboard/user-stats
Descripcion: Estadisticas de usuarios
GET /admin/dashboard/organization-stats
Descripcion: Estadisticas de organizaciones
GET /admin/dashboard/moderation-queue
Descripcion: Cola de moderacion de contenido
GET /admin/dashboard/classroom-overview
Descripcion: Vista general de aulas
GET /admin/dashboard/assignment-stats
Descripcion: Estadisticas de asignaciones
GET /admin/dashboard/actions/recent
Descripcion: Acciones administrativas recientes
GET /admin/dashboard/alerts
Descripcion: Alertas activas del sistema
GET /admin/dashboard/analytics/user-activity
Descripcion: Analiticas de actividad de usuarios
2. USERS ENDPOINTS
GET /admin/users
Descripcion: Listar usuarios con filtros y paginacion
Query params:
page(optional)limit(optional)role(optional): student, admin_teacher, super_adminstatus(optional): active, suspended, inactivesearch(optional): busqueda por nombre/email
GET /admin/users/:id
Descripcion: Obtener detalles del usuario
GET /admin/users/stats
Descripcion: Estadisticas detalladas de usuarios
PUT /admin/users/:id
Descripcion: Actualizar usuario
DELETE /admin/users/:id
Descripcion: Eliminar usuario
POST /admin/users/:id/suspend
Descripcion: Suspender usuario
POST /admin/users/:id/activate
Descripcion: Activar usuario suspendido
POST /admin/users/:id/deactivate
Descripcion: Desactivar usuario
POST /admin/users/:id/reset-password
Descripcion: Forzar reseteo de contrasena
3. BULK OPERATIONS ENDPOINTS
POST /admin/bulk-operations/suspend-users
Descripcion: Suspender multiples usuarios
Body:
{
"userIds": ["uuid1", "uuid2", "uuid3"],
"reason": "Motivo de suspension"
}
POST /admin/bulk-operations/activate-users
Descripcion: Activar multiples usuarios
POST /admin/bulk-operations/update-role
Descripcion: Actualizar roles masivamente
POST /admin/bulk-operations/delete-users
Descripcion: Eliminar multiples usuarios
GET /admin/bulk-operations/:id
Descripcion: Obtener estado de operacion
GET /admin/bulk-operations
Descripcion: Listar operaciones recientes
4. ORGANIZATIONS ENDPOINTS
GET /admin/organizations
Descripcion: Listar organizaciones/tenants
GET /admin/organizations/:id
Descripcion: Obtener organizacion
POST /admin/organizations
Descripcion: Crear organizacion
PUT /admin/organizations/:id
Descripcion: Actualizar organizacion
DELETE /admin/organizations/:id
Descripcion: Eliminar organizacion
GET /admin/organizations/:id/stats
Descripcion: Estadisticas de organizacion
GET /admin/organizations/:id/users
Descripcion: Usuarios de organizacion
PATCH /admin/organizations/:id/subscription
Descripcion: Actualizar suscripcion
PATCH /admin/organizations/:id/features
Descripcion: Actualizar feature flags de org
5. CONTENT MANAGEMENT ENDPOINTS
GET /admin/content/pending
Descripcion: Contenido pendiente de aprobacion
GET /admin/content/exercises/pending
Descripcion: Ejercicios pendientes
POST /admin/content/:id/approve
Descripcion: Aprobar contenido
POST /admin/content/:id/reject
Descripcion: Rechazar contenido
POST /admin/content/version
Descripcion: Crear snapshot de version
GET /admin/content/media
Descripcion: Obtener libreria de medios
DELETE /admin/content/media/:id
Descripcion: Eliminar archivo de media
GET /admin/content/approval-history
Descripcion: Historial de aprobaciones
6. GAMIFICATION CONFIG ENDPOINTS
GET /admin/gamification/settings
Descripcion: Obtener configuracion actual de gamificacion
PUT /admin/gamification/settings
Descripcion: Actualizar configuracion
POST /admin/gamification/settings/preview
Descripcion: Previsualizar impacto de cambios
POST /admin/gamification/restore-defaults
Descripcion: Restaurar valores por defecto
GET /admin/gamification/parameters
Descripcion: Listar parametros por categoria
GET /admin/gamification/parameters/:id
Descripcion: Obtener parametro por ID
PUT /admin/gamification/parameters/:id
Descripcion: Actualizar parametro
GET /admin/gamification/maya-ranks
Descripcion: Obtener configuracion de rangos Maya
PUT /admin/gamification/maya-ranks/:rankName
Descripcion: Actualizar umbral de rango Maya
7. ANALYTICS ENDPOINTS
GET /admin/analytics/overview
Descripcion: Vista general de analiticas
GET /admin/analytics/engagement
Descripcion: Analiticas de engagement por segmento
GET /admin/analytics/gamification
Descripcion: Distribucion de XP, rangos y niveles
GET /admin/analytics/activity-timeline
Descripcion: Linea de tiempo de actividad
Query params:
days(optional): Ultimos N dias (default: 30)
GET /admin/analytics/top-users
Descripcion: Top usuarios por metrica
Query params:
metric(optional): xp, exercises, streaklimit(optional): default 10
GET /admin/analytics/retention
Descripcion: Retencion por cohorte (12 meses)
GET /admin/analytics/export
Descripcion: Exportar analiticas a CSV
8. PROGRESS TRACKING ENDPOINTS
GET /admin/progress/overview
Descripcion: Vista general del sistema
GET /admin/progress/classrooms/:id
Descripcion: Progreso detallado de aula
GET /admin/progress/students/:id
Descripcion: Progreso detallado de estudiante
GET /admin/progress/students/:id/achievements
Descripcion: Logros de estudiante
GET /admin/progress/modules/:id
Descripcion: Estadisticas del modulo
GET /admin/progress/exercises/:id
Descripcion: Estadisticas del ejercicio
GET /admin/progress/export
Descripcion: Exportar datos de progreso a CSV
9. ALERTS ENDPOINTS
GET /admin/alerts
Descripcion: Listar alertas con filtros
GET /admin/alerts/stats/summary
Descripcion: Estadisticas de alertas
GET /admin/alerts/:id
Descripcion: Obtener alerta por ID
POST /admin/alerts
Descripcion: Crear alerta manual
PATCH /admin/alerts/:id/acknowledge
Descripcion: Reconocer alerta
PATCH /admin/alerts/:id/resolve
Descripcion: Resolver alerta
PATCH /admin/alerts/:id/suppress
Descripcion: Suprimir alerta
10. INTERVENTIONS ENDPOINTS
GET /admin/interventions
Descripcion: Listar alertas de intervencion
GET /admin/interventions/:id
Descripcion: Obtener alerta por ID
PATCH /admin/interventions/:id/acknowledge
Descripcion: Reconocer alerta
PATCH /admin/interventions/:id/resolve
Descripcion: Resolver alerta
DELETE /admin/interventions/:id/dismiss
Descripcion: Descartar alerta
11. SYSTEM ENDPOINTS
GET /admin/system/health
Descripcion: Estado de salud del sistema
GET /admin/system/metrics
Descripcion: Metricas del sistema
GET /admin/system/audit-log
Descripcion: Log de auditoria
GET /admin/system/config
Descripcion: Obtener configuracion
GET /admin/system/config/:category
Descripcion: Configuracion por categoria
PUT /admin/system/config/:category
Descripcion: Actualizar configuracion por categoria
POST /admin/system/maintenance
Descripcion: Alternar modo mantenimiento
POST /admin/system/maintenance/cleanup-logs
Descripcion: Limpiar logs antiguos
POST /admin/system/maintenance/cleanup-activity
Descripcion: Limpiar logs de actividad
POST /admin/system/maintenance/optimize-database
Descripcion: Optimizar base de datos
POST /admin/system/maintenance/clear-cache
Descripcion: Limpiar cache
POST /admin/system/maintenance/cleanup-sessions
Descripcion: Limpiar sesiones expiradas
GET /admin/system/cron/status
Descripcion: Estado de trabajos CRON
12. MONITORING ENDPOINTS
GET /admin/monitoring/metrics
Descripcion: Metricas actuales del sistema
GET /admin/monitoring/metrics/history
Descripcion: Historial de metricas
GET /admin/monitoring/errors/stats
Descripcion: Estadisticas de errores
GET /admin/monitoring/errors/recent
Descripcion: Errores recientes con detalles
GET /admin/monitoring/errors/trends
Descripcion: Tendencias de errores
13. ROLES & PERMISSIONS ENDPOINTS
GET /admin/roles
Descripcion: Obtener todos los roles
GET /admin/roles/permissions
Descripcion: Obtener permisos disponibles
GET /admin/roles/:id/permissions
Descripcion: Obtener permisos de rol
PUT /admin/roles/:id/permissions
Descripcion: Actualizar permisos de rol
14. REPORTS ENDPOINTS
POST /admin/reports/generate
Descripcion: Generar nuevo reporte
Body:
{
"type": "users|progress|analytics|content",
"format": "pdf|csv|xlsx",
"filters": {...}
}
GET /admin/reports
Descripcion: Listar reportes
GET /admin/reports/:id/download
Descripcion: Descargar reporte
DELETE /admin/reports/:id
Descripcion: Eliminar reporte
15. CLASSROOM-TEACHER ENDPOINTS
POST /admin/classrooms/assign
Descripcion: Asignar aula a profesor
POST /admin/classrooms/bulk-assign
Descripcion: Asignacion masiva de aulas
DELETE /admin/classrooms/assign/:teacherId/:classroomId
Descripcion: Remover asignacion
POST /admin/classrooms/reassign
Descripcion: Reasignar aula a otro profesor
GET /admin/classrooms/teacher/:teacherId
Descripcion: Obtener aulas de profesor
GET /admin/classrooms/available
Descripcion: Obtener aulas disponibles
GET /admin/classrooms/:classroomId/history
Descripcion: Historial de asignaciones
GET /admin/classrooms/:id/teachers
Descripcion: Obtener profesores de aula
POST /admin/classrooms/:id/teachers
Descripcion: Asignar profesor a aula
DELETE /admin/classrooms/:id/teachers/:tid
Descripcion: Remover profesor de aula
GET /admin/teachers/:id/classrooms
Descripcion: Obtener aulas de profesor
POST /admin/teachers/:id/classrooms
Descripcion: Asignar aulas a profesor
GET /admin/classroom-teachers
Descripcion: Listar todas las asignaciones
POST /admin/classroom-teachers/bulk
Descripcion: Asignacion masiva de pares
GET /admin/classrooms/list
Descripcion: Listar aulas para dropdowns
GET /admin/teachers/list
Descripcion: Listar profesores para dropdowns
16. FEATURE FLAGS ENDPOINTS
GET /admin/feature-flags
Descripcion: Obtener todos los feature flags
GET /admin/feature-flags/:key
Descripcion: Obtener flag por key
POST /admin/feature-flags/:key/check
Descripcion: Verificar si feature esta habilitada
POST /admin/feature-flags
Descripcion: Crear nuevo flag
PUT /admin/feature-flags/:key
Descripcion: Actualizar flag
POST /admin/feature-flags/:key/enable
Descripcion: Habilitar flag
POST /admin/feature-flags/:key/disable
Descripcion: Deshabilitar flag
PUT /admin/feature-flags/:key/rollout
Descripcion: Actualizar rollout percentage
DELETE /admin/feature-flags/:key
Descripcion: Eliminar flag
17. ASSIGNMENTS ENDPOINTS
GET /admin/assignments
Descripcion: Listar asignaciones con filtros
GET /admin/assignments/stats
Descripcion: Estadisticas globales
GET /admin/assignments/:id
Descripcion: Detalle de asignacion
GET /admin/assignments/classrooms/:classroomId
Descripcion: Asignaciones de aula
GET /admin/assignments/students/:studentId
Descripcion: Asignaciones de estudiante
AUTENTICACION Y AUTORIZACION
Todos los endpoints requieren:
- Header:
Authorization: Bearer <jwt_token> - Rol requerido:
super_admin
CODIGOS DE RESPUESTA
| Codigo | Descripcion |
|---|---|
| 200 | Exito |
| 201 | Creado |
| 400 | Solicitud invalida |
| 401 | No autenticado |
| 403 | No autorizado (requiere super_admin) |
| 404 | No encontrado |
| 409 | Conflicto (operacion en progreso) |
| 500 | Error del servidor |
SERVICES DEL MODULO
AdminAlertsServiceAdminAnalyticsServiceAdminAssignmentsServiceAdminContentServiceAdminDashboardServiceAdminInterventionsServiceAdminMonitoringServiceAdminOrganizationsServiceAdminProgressServiceAdminReportsServiceAdminRolesServiceAdminSystemServiceAdminUsersServiceBulkOperationsServiceClassroomAssignmentsServiceFeatureFlagsServiceGamificationConfigServiceDashboardStatsServiceUserStatsServiceContentStatsServiceRecentActivityServiceAdminQueryBuilder
ENTIDADES
SystemSetting- Configuraciones del sistemaFeatureFlag- Feature flags globalesNotificationSettings- Config de notificacionesBulkOperation- Registro de operaciones masivasSystemAlert- Alertas del sistemaAdminReport- Reportes generados
Generado por: Requirements-Analyst Fecha: 2025-12-23 Version: 1.0