27 lines
908 B
Python
27 lines
908 B
Python
from typing import List
|
|
import strawberry
|
|
from database import models
|
|
from decorators.endpoints import authenticated_user_only
|
|
from graphql_schema.entities.resolvers.base import get_list, get_one, get_base_resolver
|
|
from graphql_schema.sqlalchemy_to_strawberry_type import strawberry_sqlalchemy_type
|
|
|
|
|
|
@strawberry_sqlalchemy_type(models.Airport)
|
|
class Airport:
|
|
pass
|
|
|
|
|
|
@strawberry.type
|
|
class AirportQueries:
|
|
@strawberry.field()
|
|
@authenticated_user_only()
|
|
async def airports(root, info) -> List[Airport]:
|
|
query = get_base_resolver(models.Airport, user_id=info.context.user_id)
|
|
return await get_list(models.Airport, query)
|
|
|
|
@strawberry.field()
|
|
@authenticated_user_only()
|
|
async def airport(root, info, id: int) -> Airport:
|
|
query = get_base_resolver(models.Airport, user_id=info.context.user_id, object_id=id)
|
|
return await get_one(models.Airport, query)
|