Pouziti base resolveru u letiste
This commit is contained in:
@@ -2,8 +2,7 @@ from typing import List
|
|||||||
import strawberry
|
import strawberry
|
||||||
from database import models
|
from database import models
|
||||||
from decorators.endpoints import authenticated_user_only
|
from decorators.endpoints import authenticated_user_only
|
||||||
from graphql_schema.entities.resolvers.airport import get_airport_resolver
|
from graphql_schema.entities.resolvers.base import get_list, get_one, get_base_resolver
|
||||||
from graphql_schema.entities.resolvers.base import get_list, get_one
|
|
||||||
from graphql_schema.sqlalchemy_to_strawberry_type import strawberry_sqlalchemy_type
|
from graphql_schema.sqlalchemy_to_strawberry_type import strawberry_sqlalchemy_type
|
||||||
|
|
||||||
|
|
||||||
@@ -17,11 +16,11 @@ class AirportQueries:
|
|||||||
@strawberry.field()
|
@strawberry.field()
|
||||||
@authenticated_user_only()
|
@authenticated_user_only()
|
||||||
async def airports(root, info) -> List[Airport]:
|
async def airports(root, info) -> List[Airport]:
|
||||||
query = get_airport_resolver(info.context.user_id)
|
query = get_base_resolver(models.Airport, user_id=info.context.user_id)
|
||||||
return await get_list(models.Airport, query)
|
return await get_list(models.Airport, query)
|
||||||
|
|
||||||
@strawberry.field()
|
@strawberry.field()
|
||||||
@authenticated_user_only()
|
@authenticated_user_only()
|
||||||
async def airport(root, info, id: int) -> Airport:
|
async def airport(root, info, id: int) -> Airport:
|
||||||
query = get_airport_resolver(info.context.user_id, id)
|
query = get_base_resolver(models.Airport, user_id=info.context.user_id, object_id=id)
|
||||||
return await get_one(models.Airport, query)
|
return await get_one(models.Airport, query)
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
from typing import Optional
|
|
||||||
from sqlalchemy import or_
|
|
||||||
from database import models
|
|
||||||
from graphql_schema.entities.resolvers.base import get_base_resolver
|
|
||||||
|
|
||||||
|
|
||||||
def get_airport_resolver(user_id: int, airport_id: Optional[int] = None):
|
|
||||||
if airport_id:
|
|
||||||
return get_base_resolver(model=models.Airport, object_id=airport_id, user_id=user_id)
|
|
||||||
|
|
||||||
return (
|
|
||||||
get_base_resolver(model=models.Airport)
|
|
||||||
.filter(or_(
|
|
||||||
models.Airport.created_by_id == user_id,
|
|
||||||
models.Airport.created_by_id.is_(None),
|
|
||||||
))
|
|
||||||
)
|
|
||||||
Reference in New Issue
Block a user