[WIP] collection #181
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
Some checks failed
Test before pr merge / test-lint (pull_request) Failing after 6s
This commit is contained in:
@@ -1,6 +1,29 @@
|
||||
from cpl.api.middleware.request import get_request
|
||||
from cpl.graphql.schema.filter.filter import Filter
|
||||
from cpl.graphql.schema.query import Query
|
||||
|
||||
from cpl.graphql.schema.sort.sort import Sort
|
||||
|
||||
|
||||
class User:
|
||||
def __init__(self, id: int, name: str):
|
||||
self.id = id
|
||||
self.name = name
|
||||
|
||||
|
||||
class UserFilter(Filter[User]):
|
||||
def __init__(self, obj: dict):
|
||||
Filter.__init__(self, obj)
|
||||
self.field("id", int)
|
||||
self.field("name", str)
|
||||
|
||||
|
||||
class UserSort(Sort[User]):
|
||||
def __init__(self, obj: dict):
|
||||
Sort.__init__(self, obj)
|
||||
self.field("id")
|
||||
self.field("name")
|
||||
|
||||
|
||||
class HelloQuery(Query):
|
||||
def __init__(self):
|
||||
@@ -9,3 +32,15 @@ class HelloQuery(Query):
|
||||
"message",
|
||||
resolver=lambda *_, name: f"Hello {name} {get_request().state.request_id}",
|
||||
).with_argument(str, "name", "Name to greet", "world")
|
||||
|
||||
self.collection_field(
|
||||
int,
|
||||
"items",
|
||||
UserFilter,
|
||||
UserSort,
|
||||
resolver=self._resolve_collection,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def _resolve_collection(filter, sort, skip, take):
|
||||
return []
|
||||
|
||||
Reference in New Issue
Block a user