lepsi podpora strankovani, bugfixing, vyhledavani
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
from operator import or_
|
||||
from typing import Set, Optional
|
||||
from sqlalchemy import and_
|
||||
from sqlalchemy import and_, or_
|
||||
from database import models
|
||||
from database.transaction import get_session
|
||||
from graphql_schema.context import GraphQLContext
|
||||
@@ -19,26 +17,33 @@ class AircraftQueryResolver(BaseQueryResolver):
|
||||
user_id: int | None = None,
|
||||
object_id: int | None = None,
|
||||
order_by: list | None = None,
|
||||
organization_ids: Optional[Set[int]] = None,
|
||||
organization_ids: set[int] | None = None,
|
||||
*args,
|
||||
**kwargs,
|
||||
):
|
||||
filters = []
|
||||
search = {}
|
||||
if kwargs.get("call_sign"):
|
||||
filters.append(models.Aircraft.call_sign == kwargs['call_sign'])
|
||||
|
||||
if kwargs.get("search"):
|
||||
search['search'] = kwargs.pop("search", None)
|
||||
|
||||
query = super().get_query(
|
||||
object_id=object_id,
|
||||
only_my=False,
|
||||
only_public=kwargs.get("only_public", False),
|
||||
order_by=order_by,
|
||||
filters=filters,
|
||||
**search
|
||||
)
|
||||
|
||||
if kwargs.get("search"):
|
||||
search = kwargs["search"]
|
||||
query = query.filter(
|
||||
or_(
|
||||
models.Aircraft.call_sign.contains(search),
|
||||
models.Aircraft.manufacturer.contains(search),
|
||||
models.Aircraft.model.contains(search),
|
||||
)
|
||||
|
||||
)
|
||||
|
||||
if organization_ids:
|
||||
query = (
|
||||
query.filter(
|
||||
|
||||
Reference in New Issue
Block a user