Further gql improvements & added test data #181
This commit is contained in:
@@ -1,11 +1,43 @@
|
||||
from api.src.queries.cities import CityFilter, CitySort, CityGraphType, City
|
||||
from api.src.queries.user import User, UserFilter, UserSort, UserGraphType
|
||||
from cpl.api.middleware.request import get_request
|
||||
from cpl.auth.schema import AuthUserDao, AuthUser
|
||||
from cpl.graphql.schema.filter.filter import Filter
|
||||
from cpl.graphql.schema.graph_type import GraphType
|
||||
from cpl.graphql.schema.query import Query
|
||||
from cpl.graphql.schema.sort.sort import Sort
|
||||
from cpl.graphql.schema.sort.sort_order import SortOrder
|
||||
|
||||
users = [User(i, f"User {i}") for i in range(1, 101)]
|
||||
cities = [City(i, f"City {i}") for i in range(1, 101)]
|
||||
|
||||
class AuthUserFilter(Filter[AuthUser]):
|
||||
def __init__(self):
|
||||
Filter.__init__(self)
|
||||
self.field("id", int)
|
||||
self.field("username", str)
|
||||
|
||||
|
||||
class AuthUserSort(Sort[AuthUser]):
|
||||
def __init__(self):
|
||||
Sort.__init__(self)
|
||||
self.field("id", SortOrder)
|
||||
self.field("username", SortOrder)
|
||||
|
||||
class AuthUserGraphType(GraphType[AuthUser]):
|
||||
|
||||
def __init__(self):
|
||||
GraphType.__init__(self)
|
||||
|
||||
self.int_field(
|
||||
"id",
|
||||
resolver=lambda root: root.id,
|
||||
)
|
||||
self.string_field(
|
||||
"username",
|
||||
resolver=lambda root: root.username,
|
||||
)
|
||||
|
||||
class HelloQuery(Query):
|
||||
def __init__(self):
|
||||
Query.__init__(self)
|
||||
@@ -28,3 +60,10 @@ class HelloQuery(Query):
|
||||
CitySort,
|
||||
resolver=lambda: cities,
|
||||
)
|
||||
self.dao_collection_field(
|
||||
AuthUserGraphType,
|
||||
AuthUserDao,
|
||||
"authUsers",
|
||||
AuthUserFilter,
|
||||
AuthUserSort,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user