Commit Graph

50 Commits

Author SHA1 Message Date
2d977b13b4 Convert user and role IDs from number to UUID string
Updated backend and frontend to use UUID strings instead of integers for user and role IDs
to match PostgreSQL database schema (UUID type).

Backend changes:
- Updated User and UserPublic interfaces: id and role_id now string (UUID)
- Updated JwtPayload: userId and roleId now string
- Updated user validators: role_id validation changed from number to UUID string
- Removed parseInt() calls in user controller (getUserById, updateUser, deleteUser, changePassword)
- Updated all user service function signatures to accept string IDs
- Updated create() and update() functions to accept role_id as string

Frontend changes:
- Updated User interface in users API: role_id is string
- Updated CreateUserInput and UpdateUserInput: role_id is string
- Added role filter in UsersPage sidebar
- Removed number conversion logic (parseInt)

This fixes the "invalid input syntax for type uuid" error when creating/updating users.
2026-01-26 19:49:15 -06:00
6d25f5103b Add users and roles API integration to UsersPage
Created API modules for users and roles management:
- Added src/api/roles.ts with getAllRoles, getRoleById, createRole, etc.
- Added src/api/users.ts with getAllUsers, createUser, updateUser, etc.

Updated UsersPage to fetch data from backend:
- Fetch roles from /api/roles endpoint on mount
- Fetch users from /api/users endpoint on mount
- Integrated createUser API call with form submission
- Added proper validation and error handling
- Split name field into firstName and lastName for API compatibility
- Added loading states and refresh functionality
2026-01-26 11:45:01 -06:00
Exteban08
6c7d448b2f Fix: Corregir pantalla blanca y mejorar carga masiva
- Fix error .toFixed() con valores DECIMAL de PostgreSQL (string vs number)
- Fix modal de carga masiva que se cerraba sin mostrar resultados
- Validar fechas antes de insertar en BD (evita error con "Installed")
- Agregar mapeos de columnas comunes (device_status, device_name, etc.)
- Normalizar valores de status (Installed -> ACTIVE, New_LoRa -> ACTIVE)
- Actualizar documentación del proyecto

Archivos modificados:
- src/pages/meters/MetersTable.tsx
- src/pages/consumption/ConsumptionPage.tsx
- src/pages/meters/MeterPage.tsx
- water-api/src/services/bulk-upload.service.ts
- ESTADO_ACTUAL.md
- CAMBIOS_SESION.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 23:13:48 +00:00
Exteban08
ab97987c6a Agregar carga masiva de lecturas y corregir manejo de respuestas paginadas
- Implementar carga masiva de lecturas via Excel (backend y frontend)
- Corregir cliente API para manejar respuestas con paginación
- Eliminar referencias a device_id (columna inexistente)
- Cambiar areaName por meterLocation en lecturas
- Actualizar fetchProjects y fetchConcentrators para paginación
- Agregar documentación del estado actual y cambios

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 21:23:41 +00:00
Exteban08
c81a18987f Migrar backend a PostgreSQL + Node.js/Express con nuevas funcionalidades
Backend (water-api/):
- Crear API REST completa con Express + TypeScript
- Implementar autenticación JWT con refresh tokens
- CRUD completo para: projects, concentrators, meters, gateways, devices, users, roles
- Agregar validación con Zod para todas las entidades
- Implementar webhooks para The Things Stack (LoRaWAN)
- Agregar endpoint de lecturas con filtros y resumen de consumo
- Implementar carga masiva de medidores via Excel (.xlsx)

Frontend:
- Crear cliente HTTP con manejo automático de JWT y refresh
- Actualizar todas las APIs para usar nuevo backend
- Agregar sistema de autenticación real (login, logout, me)
- Agregar selector de tipo (LORA, LoRaWAN, Grandes) en concentradores y medidores
- Agregar campo Meter ID en medidores
- Crear modal de carga masiva para medidores
- Agregar página de consumo con gráficas y filtros
- Corregir carga de proyectos independiente de datos existentes

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 10:13:26 +00:00
Exteban08
143cd77cee Conflicts 2026-01-14 21:40:17 +00:00
Marlene-Angel
9af06addad Ajustes UI 2026-01-14 12:34:12 -08:00
Marlene-Angel
16f1f68499 Refactor meters: dividido en hook, sidebar, tabla y modal 2026-01-14 12:32:23 -08:00
Marlene-Angel
3681725b8f Refactor concentrators: dividido en hook, sidebar, tabla y modal 2026-01-14 12:30:08 -08:00
Exteban08
48df8a2bfd Merge branch 'main' of github.com:luanngel/water-project 2026-01-13 04:05:42 +00:00
Marlene-Angel
dd3997a3a8 Login GRH, marca de agua tipo membretado y logo en PNG sin fondo 2026-01-12 13:45:25 -08:00
Exteban08
fab39f099d Add viewId parameter to fetchProjects query 2026-01-08 19:42:54 +00:00
d147b74a54 Meters columns 2026-01-08 13:36:57 -06:00
c3e39819da Change 2026-01-08 13:32:31 -06:00
fc0f682d98 More conflicts 2026-01-08 13:29:56 -06:00
dd65f48a75 New changes conflicts 2026-01-08 13:27:15 -06:00
1501b29006 Conflicts 2026-01-08 13:16:50 -06:00
Marlene-Angel
4d807babf7 Se agrega marca de agua GRH y se corrige interacción de perfil en la interfaz 2026-01-07 15:37:57 -08:00
dce0e33693 Vite config tunnel and Enpoint changes 2026-01-07 00:20:52 -06:00
Marlene-Angel
4ecdd0d656 Merge remote-tracking branch 'origin/DevEsteban' into DevMarlene 2025-12-30 16:50:12 -08:00
bbc86bb2d8 Dashboard logic 2025-12-22 15:40:29 -06:00
Marlene-Angel
25da09352d Corrige overflow del layout y autenticación de la API de proyectos 2025-12-22 13:00:53 -08:00
ee35944c44 Dashboard navigate to meters from Tomas card 2025-12-22 01:31:13 -06:00
b9d7eab9db concentrators logic 2025-12-22 01:20:33 -06:00
5a82a717d8 Meters project selection logic fix 2025-12-22 01:16:15 -06:00
820e14463c Meter edit and create logic form & concentrators project select option 2025-12-22 00:19:09 -06:00
a5fa0cfa64 Concentrators create and edit form logic with TTS mock data 2025-12-20 19:45:27 -06:00
014ac19a4b New concentrators fields 2025-12-20 17:15:02 -06:00
Marlene-Angel
1519548c90 Se quitaron los labels de meter 2025-12-20 14:12:49 -08:00
Marlene-Angel
8221f85bb8 Resuelve conflictos al hacer merge con main 2025-12-20 12:28:22 -08:00
Marlene-Angel
9fc1ea3d96 Ajustes UI en formulario de concentradores 2025-12-20 11:59:24 -08:00
9ece6ff127 Meters fix to show data in table component 2025-12-20 12:21:11 -06:00
c3655f5222 Meter new fields 2025-12-19 00:39:46 -06:00
55bcea33e0 Meters list and CRUD logic 2025-12-19 00:25:17 -06:00
c4d568553a Concentrator list and CRUD logic 2025-12-19 00:10:05 -06:00
bc9cc3b7f7 Projects api improve 2025-12-18 23:29:15 -06:00
8204804511 Project list and crud logic to endpoints 2025-12-18 23:14:16 -06:00
juancho1127
b93a8d30b0 Merge pull request #1 from luanngel/DevMarlene1
Se agrego la interfaz ProjectsPage
2025-12-18 17:11:58 -08:00
Marlene-Angel
0f0328f41b Se agrego la interfaz ProjectsPage 2025-12-18 14:27:56 -08:00
b82c58e500 Create concentrator logic 2025-12-17 21:17:07 -06:00
854c499fe7 Projects api call to set different values in table component 2025-12-17 20:42:53 -06:00
Marlene-Angel
ae43042ac6 refactor: reorganización de estructura, pages y components 2025-12-17 17:21:51 -08:00
a6d9de5682 Device management table edit and delete logic 2025-12-17 13:45:35 -06:00
917016a7cf Device Management section 2025-12-17 13:18:43 -06:00
fc23b98b18 Merge branch 'main' of https://github.com/luanngel/water-project 2025-12-16 21:18:00 -06:00
b06a88e969 Data Query section 2025-12-16 21:10:13 -06:00
Marlene-Angel
1ee097b082 Update OperatorManagement page 2025-12-16 18:44:34 -08:00
02aec05495 Data Monitoring table with mock data 2025-12-16 19:36:28 -06:00
c7e3eb9f00 Device Management table with data dummy 2025-12-16 18:50:33 -06:00
Marlene-Angel
17c742b1e7 Initial commit 2025-12-15 16:50:49 -08:00