🔒 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
1.7 KiB
1.7 KiB
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-IDagregado 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