Files
service_manager/CHANGELOG.md
icamarillo 771b6eba30 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
2026-02-12 09:00:16 -07:00

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-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