Merge pull request 'fix(clients_and_providers): include 'both' type in client or provider filtering' (#76) from fix/pedimentos-both into development

Reviewed-on: ADUANASOFT/anexo76#76
This commit is contained in:
2026-01-22 23:38:03 +00:00
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:
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:
query = query.filter(ClientProvider.is_active == active)

View File

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