Documentación de Bloques¶
Esta carpeta contiene la documentación relacionada con la gestión de bloques en el sistema.
Índice¶
| Archivo | Descripción |
|---|---|
| 01_cierre_bloque.md | Flujo de cierre de bloque (preview + confirmación) |
| 02_revision_admin.md | Revisión administrativa (aprobar/rechazar bloques pendientes) |
| GET_completed_blocks.md | Obtener bloques completados por curso escolar |
| GET_review_thread.md | Obtener hilo de conversación de un bloque |
| POST_add_thread_message.md | Añadir mensaje al hilo de conversación |
| POST_review_block.md | Aprobar/rechazar bloque pendiente |
Arquitectura¶
La tabla student_blocks almacena el estado de cada bloque por estudiante:
Block (id=28, name="block1") - Plantilla de contenidos
└── StudentBlock (id=1, blockId=28, studentId=123, status="pending", grade=7.5)
└── StudentBlock (id=2, blockId=28, studentId=456, status="open", grade=null)
└── StudentBlock (id=3, blockId=28, studentId=789, status="closed", grade=8.0)
Flujo General de Estados¶
┌─────────┐ Profesor cierra ┌─────────┐ Admin aprueba ┌─────────┐
│ open │ ───────────────────────► │ pending │ ────────────────────► │ closed │
└─────────┘ └─────────┘ └─────────┘
▲ │
│ │
└────────────────────────────────────┘
Admin rechaza
Estados de un StudentBlock¶
| Estado | Descripción |
|---|---|
open |
Bloque abierto, disponible para el profesor |
blocked |
Bloque bloqueado (no es el primer bloque del estudiante) |
pending |
Cerrado por profesor, pendiente de revisión administrativa |
closed |
Aprobado por administrador, completamente cerrado |
Endpoints Relacionados¶
| Método | Endpoint | Descripción |
|---|---|---|
POST |
/api/v2/blocks/:blockId/close |
Cerrar bloque para un estudiante (profesor) |
GET |
/api/v2/blocks/pending-rejected |
Obtener bloques pendientes/rechazados (admin) |
GET |
/api/v2/blocks/completed |
Obtener bloques completados por curso escolar |
POST |
/api/v2/blocks/student-block/:studentBlockId/review |
Aprobar/rechazar bloque (admin) |
GET |
/api/v2/blocks/student-block/:studentBlockId/thread |
Obtener hilo de conversación |
POST |
/api/v2/blocks/student-block/:studentBlockId/thread |
Añadir mensaje al hilo |
GET |
/api/v2/blocks/grades/:studentId/:subjectId |
Obtener notas de bloques |
Migración Requerida¶
Ejecutar la migración para crear la tabla student_blocks: