feat: version 4.5.0 -- Calendario personal con filtros y capas por tipo
Calendario personal para todos los roles: reuniones que organizo o me invitaron, proyectos donde soy dueno/miembro, actividades y tareas donde soy responsable y tareas recurrentes creadas o compartidas conmigo (solo lectura si no soy el creador). Filtros Ver (Todo / Solo lo mio / Compartido conmigo) y Mostrar (lista de tipos con Todo); colores por tipo, vencidos en rojo, compartido marcado con franja. La pestana Calendario del proyecto muestra todas sus reuniones vinculadas. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -36,10 +36,22 @@ Las reuniones siguen el mismo contrato (`PUT /api/meetings/:id`).
|
||||
## Calendario de reuniones (v4.4.0)
|
||||
|
||||
Todas las rutas requieren JWT y módulo `calendar`. Las fechas son `YYYY-MM-DD HH:mm:ss` en hora
|
||||
civil `America/Guayaquil` (UTC-5). `GET /api/meetings?from=&to=&page=&pageSize=` devuelve
|
||||
civil `America/Guayaquil` (UTC-5). `GET /api/meetings?from=&to=&page=&pageSize=[&projectId=]` (sin `projectId`: solo reuniones que el
|
||||
usuario organiza o a las que fue invitado, cualquier rol; con `projectId`: todas las del proyecto si
|
||||
puede leerlo, si no 404) devuelve
|
||||
`{items,total,page,pageSize}` con ocurrencias expandidas (`occurrence_start`, `occurrence_end`);
|
||||
rango máximo 93 días y hasta 1500 ocurrencias por página (predeterminado: 1500).
|
||||
`GET /api/meetings/activities?from=&to=` devuelve hasta 1000 vencimientos legibles.
|
||||
`GET /api/meetings/activities?from=&to=` devuelve hasta 1000 vencimientos de actividades donde el
|
||||
usuario es responsable (con `is_closed` y `overdue`).
|
||||
`GET /api/meetings/tasks?from=&to=`: tareas donde el usuario es responsable (`activity_id`, `project_id`,
|
||||
`is_closed`, `overdue`). `GET /api/meetings/projects?from=&to=`: proyectos donde es dueño o miembro,
|
||||
una fila por fecha en rango (`milestone`: `start` | `end`). Ambas requieren módulo `projects`.
|
||||
`GET /api/meetings/recurring?from=&to=` (requiere también el módulo `recurring_tasks`) devuelve los
|
||||
próximos vencimientos de las tareas recurrentes activas que el usuario creó o de las que es responsable, calculados al vuelo
|
||||
desde `next_due_date` con la misma regla que `advanceCycle` y cortados en `end_date`. Cada fila trae
|
||||
`due_date`, `is_next` (el ciclo pendiente real), `overdue` y `can_open` (si puede abrirla en Tareas recurrentes).
|
||||
|
||||
Todas las filas de calendario traen `shared` (lo creó/organiza otra persona y me incluye).
|
||||
|
||||
- `GET /api/meetings/:id`: detalle, participantes con RSVP y excepciones.
|
||||
- `POST /api/meetings`: `{title,description,startsAt,endsAt,allDay,location,videoUrl,projectId,reminderMinutes,participantUserIds,externalEmails,recurrence}`.
|
||||
|
||||
Reference in New Issue
Block a user