Release v1.5.1 - Control de Acceso Basado en Roles y Correcciones Críticas
🔒 Seguridad: - Implementación completa de RBAC (Role-Based Access Control) - Staff interno (ADMIN/AGENT/SUPPORT_MANAGER) accede a todos los tickets del tenant - Clientes (CLIENT_USER/CLIENT_ADMIN) solo acceden a sus propios tickets - Restricción de creación/modificación de categories/systems a ADMIN/SUPPORT_MANAGER - Agregado header X-Tenant-ID en frontend-internal para multi-tenancy 🐛 Correcciones: - Fix crítico: Prevención de números de ticket duplicados - Implementado retry logic con 3 intentos en creación de tickets - Generación de ticket_number basada en MAX existente (no contador simple) - Corrección de filtros en GET /tickets según roles ✨ Mejoras: - Validación robusta de permisos en todos los endpoints - Mejor manejo de excepciones y mensajes de error - Multi-tenancy reforzado con validaciones adicionales 📚 Documentación: - Agregado CHANGELOG.md con historial de versiones - Actualizada versión a 1.5.1 en package.json y pyproject.toml - Scripts de prueba para validación de RBAC
This commit is contained in:
49
CHANGELOG.md
Normal file
49
CHANGELOG.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# CHANGELOG - ServiceManagerWeb
|
||||
|
||||
## [1.5.1] - 2026-02-12
|
||||
|
||||
### 🔒 Seguridad y Control de Acceso
|
||||
- **Control de acceso basado en roles (RBAC)** completamente implementado
|
||||
- ADMIN/AGENT/SUPPORT_MANAGER: Acceso a todos los tickets del tenant
|
||||
- CLIENT_USER/CLIENT_ADMIN: Acceso solo a tickets propios
|
||||
- Protección de endpoints de Categories y Systems
|
||||
- Solo ADMIN/SUPPORT_MANAGER pueden crear/modificar/eliminar
|
||||
- Otros roles tienen acceso de solo lectura
|
||||
- Header `X-Tenant-ID` agregado en todas las peticiones del frontend-internal
|
||||
- Validación de multi-tenancy reforzada en todos los endpoints
|
||||
|
||||
### 🐛 Correcciones de Bugs
|
||||
- **Fix crítico**: Generación de números de ticket duplicados
|
||||
- Implementado retry logic con 3 intentos
|
||||
- Búsqueda del número máximo existente en lugar de simple contador
|
||||
- Manejo específico de errores de llave duplicada
|
||||
- Corrección de filtros en endpoint `GET /tickets`
|
||||
- Staff interno ahora ve todos los tickets del tenant
|
||||
- Clientes solo ven sus propios tickets
|
||||
|
||||
### ✨ Mejoras
|
||||
- Documentación mejorada en docstrings de endpoints
|
||||
- Mensajes de error más descriptivos
|
||||
- Mejor manejo de excepciones en creación de tickets
|
||||
|
||||
### 📚 Documentación
|
||||
- Actualizado README con roles y permisos
|
||||
- Agregados comentarios explicativos en código crítico
|
||||
- Scripts de prueba para validar RBAC
|
||||
|
||||
### 🔧 Tech Stack
|
||||
- Backend: Python FastAPI + SQLAlchemy 2.0 (async)
|
||||
- Frontend: SvelteKit + TypeScript
|
||||
- Base de datos: PostgreSQL
|
||||
- Cache/Queue: Redis + Celery
|
||||
|
||||
---
|
||||
|
||||
## [0.1.0] - 2026-01-01
|
||||
|
||||
### 🎉 Versión Inicial
|
||||
- Sistema multi-tenant de Mesa de Ayuda
|
||||
- Autenticación JWT con refresh tokens
|
||||
- Gestión de tickets, categorías y sistemas
|
||||
- Dos frontends: cliente e interno
|
||||
- Docker Compose para desarrollo local
|
||||
Reference in New Issue
Block a user