fix(clients_and_providers): include 'both' type in client or provider filtering
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user