Pouziti base resolveru u letiste

This commit is contained in:
Michal Kváček
2023-09-25 10:07:56 +02:00
parent d820b92964
commit dc49cd347c
2 changed files with 3 additions and 21 deletions
+3 -4
View File
@@ -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),
))
)