Changed to strawberry #181
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
from starlette.responses import JSONResponse
|
||||
|
||||
from api.src.queries.cities import CityGraphType
|
||||
from api.src.queries.cities import CityGraphType, CityFilter, CitySort
|
||||
from api.src.queries.hello import UserGraphType
|
||||
from api.src.queries.user import UserFilter, UserSort
|
||||
from cpl.api.api_module import ApiModule
|
||||
from cpl.application.application_builder import ApplicationBuilder
|
||||
from cpl.auth.permission.permissions import Permissions
|
||||
@@ -38,7 +39,13 @@ def main():
|
||||
builder.services.add_cache(Role)
|
||||
|
||||
builder.services.add_transient(CityGraphType)
|
||||
builder.services.add_transient(CityFilter)
|
||||
builder.services.add_transient(CitySort)
|
||||
|
||||
builder.services.add_transient(UserGraphType)
|
||||
builder.services.add_transient(UserFilter)
|
||||
builder.services.add_transient(UserSort)
|
||||
|
||||
builder.services.add_transient(HelloQuery)
|
||||
|
||||
app = builder.build()
|
||||
@@ -57,7 +64,7 @@ def main():
|
||||
app.with_routes_directory("routes")
|
||||
|
||||
schema = app.with_graphql()
|
||||
schema.query.string_field("ping", resolver=lambda *_: "pong")
|
||||
schema.query.string_field("ping", resolver=lambda: "pong")
|
||||
schema.query.with_query("hello", HelloQuery)
|
||||
|
||||
app.with_playground()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
from cpl.graphql.schema.filter.filter import Filter
|
||||
from cpl.graphql.schema.object_graph_type import ObjectGraphType
|
||||
from cpl.graphql.schema.graph_type import GraphType
|
||||
|
||||
from cpl.graphql.schema.sort.sort import Sort
|
||||
from cpl.graphql.schema.sort.sort_order import SortOrder
|
||||
@@ -25,15 +25,15 @@ class CitySort(Sort[City]):
|
||||
self.field("name", SortOrder)
|
||||
|
||||
|
||||
class CityGraphType(ObjectGraphType):
|
||||
class CityGraphType(GraphType[City]):
|
||||
def __init__(self):
|
||||
ObjectGraphType.__init__(self)
|
||||
GraphType.__init__(self)
|
||||
|
||||
self.string_field(
|
||||
self.int_field(
|
||||
"id",
|
||||
resolver=lambda user, *_: user.id,
|
||||
resolver=lambda root: root.id,
|
||||
)
|
||||
self.string_field(
|
||||
"name",
|
||||
resolver=lambda user, *_: user.name,
|
||||
resolver=lambda root: root.name,
|
||||
)
|
||||
|
||||
@@ -11,7 +11,7 @@ class HelloQuery(Query):
|
||||
Query.__init__(self)
|
||||
self.string_field(
|
||||
"message",
|
||||
resolver=lambda *_, name: f"Hello {name} {get_request().state.request_id}",
|
||||
resolver=lambda name: f"Hello {name} {get_request().state.request_id}",
|
||||
).with_argument(str, "name", "Name to greet", "world")
|
||||
|
||||
self.collection_field(
|
||||
@@ -19,12 +19,12 @@ class HelloQuery(Query):
|
||||
"users",
|
||||
UserFilter,
|
||||
UserSort,
|
||||
resolver=lambda *_: users,
|
||||
resolver=lambda: users,
|
||||
)
|
||||
self.collection_field(
|
||||
CityGraphType,
|
||||
"cities",
|
||||
CityFilter,
|
||||
CitySort,
|
||||
resolver=lambda *_: cities,
|
||||
resolver=lambda: cities,
|
||||
)
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
from cpl.graphql.schema.filter.filter import Filter
|
||||
from cpl.graphql.schema.object_graph_type import ObjectGraphType
|
||||
|
||||
from cpl.graphql.schema.graph_type import GraphType
|
||||
from cpl.graphql.schema.sort.sort import Sort
|
||||
from cpl.graphql.schema.sort.sort_order import SortOrder
|
||||
|
||||
@@ -25,15 +24,16 @@ class UserSort(Sort[User]):
|
||||
self.field("name", SortOrder)
|
||||
|
||||
|
||||
class UserGraphType(ObjectGraphType):
|
||||
def __init__(self):
|
||||
ObjectGraphType.__init__(self)
|
||||
class UserGraphType(GraphType[User]):
|
||||
|
||||
self.string_field(
|
||||
def __init__(self):
|
||||
GraphType.__init__(self)
|
||||
|
||||
self.int_field(
|
||||
"id",
|
||||
resolver=lambda user, *_: user.id,
|
||||
resolver=lambda root: root.id,
|
||||
)
|
||||
self.string_field(
|
||||
"name",
|
||||
resolver=lambda user, *_: user.name,
|
||||
resolver=lambda root: root.name,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user