Mecanismo sort para tablas
This commit is contained in:
@@ -38,6 +38,8 @@ class ClientProviderService:
|
||||
skip: int = 0,
|
||||
limit: int = 50,
|
||||
filters: Optional[Dict[str, Any]] = None,
|
||||
sort_by: Optional[str] = None,
|
||||
sort_order: Optional[str] = "asc",
|
||||
) -> Tuple[List[ClientProvider], int]:
|
||||
"""Get all clients/providers for a tenant with pagination"""
|
||||
query = db.query(ClientProvider).filter(ClientProvider.tenant_id == tenant_id)
|
||||
@@ -68,6 +70,17 @@ class ClientProviderService:
|
||||
enabled = 1 if filters["status"] == "enabled" else 0
|
||||
query = query.filter(ClientProvider.is_active == enabled)
|
||||
|
||||
# Apply sorting
|
||||
if sort_by:
|
||||
column = getattr(ClientProvider, sort_by, None)
|
||||
if column:
|
||||
if sort_order == "desc":
|
||||
query = query.order_by(column.desc())
|
||||
else:
|
||||
query = query.order_by(column.asc())
|
||||
else:
|
||||
query = query.order_by(ClientProvider.id.desc())
|
||||
|
||||
total = query.count()
|
||||
clients = (
|
||||
query.options(
|
||||
|
||||
Reference in New Issue
Block a user