feat: administradores por proyecto y Configuracion solo para superadmin
- Un proyecto puede tener uno o mas administradores (role_in_project= 'admin' en project_members), independiente del rol global del usuario. Nuevo PUT /api/projects/:id/members/:userId/role; canWriteProject lo reconoce ademas del comportamiento previo (admin/superadmin/it_manager global, o project_lead miembro). UI: casilla al agregar miembro + boton de escudo para promover/degradar (nunca toca al Dueño). - Menu "Configuracion" (apariencia, catalogos, SMTP) visible y accesible solo para el superadmin: oculto en el nav y con guarda en la ruta /configuracion para quien la teclee directo. Escritura de catalogos restringida de [superadmin, admin] a solo superadmin para que el backend sea consistente con la UI. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -53,7 +53,11 @@
|
||||
editar el proyecto. `POST /api/projects/:id/restore` y `DELETE /api/projects/:id/permanent`
|
||||
(borrado físico, irreversible, arrastra actividades/comentarios/adjuntos) — ambos solo
|
||||
superadmin; `permanent` exige que el proyecto ya esté en la papelera (400 si no).
|
||||
- `POST /api/projects/:id/members` · `DELETE /api/projects/:id/members/:userId`
|
||||
- `POST /api/projects/:id/members` (`roleInProject` opcional: `'admin'` = administrador del
|
||||
proyecto) · `PUT /api/projects/:id/members/:userId/role` (`{ admin: true|false }`, otorga o
|
||||
quita el rol de administrador **de ese proyecto** — un proyecto puede tener uno o más
|
||||
administradores, sin importar el rol global del usuario; nunca toca al `owner`) ·
|
||||
`DELETE /api/projects/:id/members/:userId`
|
||||
|
||||
### Actividades (`/api/activities`)
|
||||
- `GET /api/projects/:projectId/activities` · `POST /api/projects/:projectId/activities`
|
||||
@@ -78,7 +82,7 @@
|
||||
- `GET /api/dashboard/calendar?month=2026-09` — actividades por fecha límite
|
||||
- `GET /api/projects/:id/gantt` — actividades con fechas/avance para el Gantt
|
||||
|
||||
### Catálogos (`/api/catalogs`) — lectura general, escritura solo Administrador
|
||||
### Catálogos (`/api/catalogs`) — lectura general, escritura solo Superadministrador
|
||||
- `GET/POST/PUT/DELETE /api/catalogs/project-statuses`
|
||||
- `GET/POST/PUT/DELETE /api/catalogs/activity-statuses`
|
||||
- `GET/POST/PUT/DELETE /api/catalogs/priorities`
|
||||
|
||||
Reference in New Issue
Block a user