fix(clients_and_providers): include 'both' type in client or provider filtering

This commit is contained in:
Galindo97
2026-01-22 13:43:31 -06:00
parent ce8712436e
commit 620e9fd2a8
2 changed files with 19 additions and 3 deletions

View File

@@ -46,7 +46,14 @@ async def get_clients_and_providers(
) )
if type is not None: if type is not None:
query = query.filter(ClientProvider.client_or_provider == type) # Include 'both' type when filtering by client or provider
from sqlalchemy import or_
query = query.filter(
or_(
ClientProvider.client_or_provider == type,
ClientProvider.client_or_provider == ClientOrProviderEnum.BOTH
)
)
if active is not None: if active is not None:
query = query.filter(ClientProvider.is_active == active) query = query.filter(ClientProvider.is_active == active)

View File

@@ -9,6 +9,7 @@ from fastapi import HTTPException
from sqlalchemy import or_ from sqlalchemy import or_
from sqlalchemy.exc import IntegrityError from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import Session, joinedload from sqlalchemy.orm import Session, joinedload
from .models import ClientOrProviderEnum
from .dto import ( from .dto import (
ClientProviderBasicDTO, ClientProviderBasicDTO,
@@ -56,8 +57,12 @@ class ClientProviderService:
) )
) )
if filters.get("client_or_provider"): if filters.get("client_or_provider"):
query = query.filter( query = query.filter(
ClientProvider.client_or_provider == filters["client_or_provider"] or_(
ClientProvider.client_or_provider == filters["client_or_provider"],
ClientProvider.client_or_provider == ClientOrProviderEnum.BOTH
)
) )
if filters.get("status"): if filters.get("status"):
enabled = 1 if filters["status"] == "enabled" else 0 enabled = 1 if filters["status"] == "enabled" else 0
@@ -345,8 +350,12 @@ class ClientProviderService:
) )
if client_or_provider: if client_or_provider:
from .models import ClientOrProviderEnum
query = query.filter( query = query.filter(
ClientProvider.client_or_provider == client_or_provider or_(
ClientProvider.client_or_provider == client_or_provider,
ClientProvider.client_or_provider == ClientOrProviderEnum.BOTH
)
) )
if enabled_only: if enabled_only: