- Fix error de sintaxis SQL en cálculo de tickets 'at risk' - Fix error de timezone (offset-naive vs offset-aware datetimes) - Implementado sistema completo de SLA Management - Agregados endpoints: /sla/dashboard, /sla/violations, /sla/at-risk - Creadas vistas frontend para dashboard, violaciones y tickets en riesgo - Actualizado sistema de Celery para monitoreo automático de SLAs - Mejorada configuración de categorías con tiempos SLA personalizables - Corregidos problemas de proxy en configuración de Vite - Agregado troubleshooting guide en README Archivos principales modificados: - backend/app/api/v1/endpoints/sla.py (nuevo) - backend/app/api/schemas/sla.py (nuevo) - frontend-internal/src/routes/sla/ (nuevo módulo completo) - workers/app/tasks/sla_tasks.py (queries async mejoradas) Documentación: docs/changelog-2026-02-17.md
36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
"""
|
|
Utility script to list all tenants in the database
|
|
"""
|
|
import asyncio
|
|
from sqlalchemy import select
|
|
from app.core.database import AsyncSessionLocal
|
|
from app.models.tenant import Tenant
|
|
|
|
async def list_tenants():
|
|
"""List all tenants with their details."""
|
|
async with AsyncSessionLocal() as db:
|
|
result = await db.execute(select(Tenant))
|
|
tenants = result.scalars().all()
|
|
|
|
print("\n" + "="*60)
|
|
print("📋 TENANTS EN LA BASE DE DATOS")
|
|
print("="*60 + "\n")
|
|
|
|
if not tenants:
|
|
print("⚠️ No hay tenants en la base de datos\n")
|
|
print("💡 Ejecuta las migraciones o crea un tenant manualmente")
|
|
return
|
|
|
|
for tenant in tenants:
|
|
print(f"Slug: {tenant.slug}")
|
|
print(f"Nombre: {tenant.name}")
|
|
print(f"Status: {tenant.status}")
|
|
print(f"Email: {tenant.contact_email or 'N/A'}")
|
|
print(f"ID: {tenant.id}")
|
|
print("-" * 60)
|
|
|
|
print(f"\nTotal: {len(tenants)} tenant(s)\n")
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(list_tenants())
|