Update all documentation for 3-level roles, organismos, and Histórico
Reflect current project state across all 8 docs: ADMIN/ORGANISMO_OPERADOR/OPERATOR role hierarchy, scope filtering, organismos_operadores table, Histórico de Tomas page, new SQL migrations, and updated API endpoints with auth requirements. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,21 +4,80 @@ Registro cronologico de cambios significativos realizados al proyecto.
|
||||
|
||||
---
|
||||
|
||||
## 2026-02-09: Actualizacion de documentacion
|
||||
## 2026-02-09: Organismos Operadores + Historico de Tomas + Documentacion
|
||||
|
||||
### Resumen
|
||||
Actualizacion completa de los 4 archivos de documentacion para reflejar el estado real del proyecto.
|
||||
Implementacion completa del sistema de 3 niveles de roles (ADMIN → ORGANISMO_OPERADOR → OPERATOR), nueva pagina Historico de Tomas, y actualizacion de toda la documentacion.
|
||||
|
||||
### Archivos Modificados
|
||||
### Nuevas Funcionalidades
|
||||
|
||||
**Rol ORGANISMO_OPERADOR (8 fases completas)**
|
||||
- Nueva tabla `organismos_operadores` con migracion SQL
|
||||
- JWT actualizado con campo `organismoOperadorId`
|
||||
- Scope filtering en todos los servicios: meter, reading, project, user, concentrator, notification
|
||||
- Utility `scope.ts` para centralizar logica de filtrado
|
||||
- Pagina OrganismosPage.tsx para gestion de organismos (ADMIN only)
|
||||
- UsersPage actualizada con campo organismo y filtrado por scope
|
||||
- ProjectsPage con campo organismo_operador_id
|
||||
- Sidebar con visibilidad de 3 niveles por rol
|
||||
|
||||
**Historico de Tomas**
|
||||
- Nueva pagina `HistoricoPage.tsx` con selector de medidor searchable
|
||||
- Busqueda por nombre, serial, ubicacion, cuenta CESPT, clave catastral
|
||||
- Tarjeta de informacion del medidor seleccionado
|
||||
- Cards de consumo: Actual (diario), Pasado (1er dia mes anterior), Diferencial con tendencia
|
||||
- Grafica AreaChart (Recharts) con gradiente y eje Y ajustado al rango de datos
|
||||
- Tabla paginada de lecturas (10/20/50 por pagina)
|
||||
- Filtros de rango de fechas
|
||||
- Exportacion CSV
|
||||
- authenticateToken en rutas GET de medidores para scope filtering
|
||||
|
||||
**Documentacion**
|
||||
- Actualizacion completa de 8 archivos de documentacion
|
||||
|
||||
### Archivos Nuevos
|
||||
| Archivo | Descripcion |
|
||||
|---------|-------------|
|
||||
| `src/pages/OrganismosPage.tsx` | Pagina CRUD de organismos operadores |
|
||||
| `src/pages/historico/HistoricoPage.tsx` | Pagina de historico de tomas |
|
||||
| `src/api/organismos.ts` | Cliente API para organismos operadores |
|
||||
| `water-api/src/services/organismo-operador.service.ts` | Servicio backend organismos |
|
||||
| `water-api/src/controllers/organismo-operador.controller.ts` | Controlador organismos |
|
||||
| `water-api/src/routes/organismo-operador.routes.ts` | Rutas organismos |
|
||||
| `water-api/src/utils/scope.ts` | Utility de filtrado por scope |
|
||||
| `water-api/sql/add_organismos_operadores.sql` | Migracion SQL organismos |
|
||||
| `water-api/sql/add_user_meter_fields.sql` | Migracion campos usuario/medidor |
|
||||
|
||||
### Archivos Modificados (28+)
|
||||
| Archivo | Cambio |
|
||||
|---------|--------|
|
||||
| `README.md` | Reescrito completamente: arquitectura full-stack, backend Express, PostgreSQL, todos los modulos, endpoints API, variables de entorno, estructura de directorios actualizada |
|
||||
| `DOCUMENTATION.md` | Reescrito completamente: documentacion tecnica con JWT real, todos los endpoints del backend, esquema relacional, hooks, sistema de temas, conectores, guia de desarrollo actualizada |
|
||||
| `ESTADO_ACTUAL.md` | Actualizado con todas las funcionalidades implementadas en febrero 2026: Analytics, Conectores, Dark mode, Notificaciones, Auditoria, Upload Panel, historial de correcciones |
|
||||
| `CAMBIOS_SESION.md` | Convertido a historial cronologico completo de cambios |
|
||||
| `src/App.tsx` | Agregados tipos "organismos" y "historico" al Page type |
|
||||
| `src/components/layout/Sidebar.tsx` | Visibilidad de 3 niveles por rol |
|
||||
| `src/api/auth.ts` | Helpers de rol actualizados (organismoOperadorId) |
|
||||
| `src/api/meters.ts` | Interfaces MeterReadingFilters, PaginatedMeterReadings, fetchMeterReadings con paginacion |
|
||||
| `src/api/users.ts` | Campo organismo_operador_id |
|
||||
| `src/api/projects.ts` | Campo organismo_operador_id |
|
||||
| `src/pages/Home.tsx` | Filtrado por scope |
|
||||
| `src/pages/UsersPage.tsx` | Campo organismo y filtrado |
|
||||
| `src/pages/projects/ProjectsPage.tsx` | Campo organismo |
|
||||
| `src/pages/meters/MetersModal.tsx` | Campo project_id |
|
||||
| `water-api/src/types/index.ts` | organismoOperadorId en tipos |
|
||||
| `water-api/src/utils/jwt.ts` | organismoOperadorId en JWT payload |
|
||||
| `water-api/src/middleware/auth.middleware.ts` | Extraccion de organismoOperadorId |
|
||||
| `water-api/src/services/*.ts` | Scope filtering en todos los servicios |
|
||||
| `water-api/src/controllers/*.ts` | requestingUser pass-through |
|
||||
| `water-api/src/routes/*.ts` | authenticateToken en rutas GET |
|
||||
| `water-api/src/validators/*.ts` | Campos de organismo |
|
||||
|
||||
---
|
||||
|
||||
## 2026-02-09: Actualizacion de documentacion (anterior)
|
||||
|
||||
### Resumen
|
||||
Actualizacion de los 4 archivos de documentacion principales.
|
||||
|
||||
### Motivo
|
||||
La documentacion previa describia una version temprana del proyecto (solo frontend, API externa NocoDB, auth con token simple) y no reflejaba el backend Express propio, JWT con refresh tokens, ni los modulos agregados en febrero 2026.
|
||||
La documentacion previa describia una version temprana del proyecto y no reflejaba el backend Express propio ni los modulos agregados.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user