from cpl.graphql.schema.filter.filter import Filter 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 class User: def __init__(self, id: int, name: str): self.id = id self.name = name class UserFilter(Filter[User]): def __init__(self): Filter.__init__(self) self.field("id", int) self.field("name", str) class UserSort(Sort[User]): def __init__(self): Sort.__init__(self) self.field("id", SortOrder) self.field("name", SortOrder) class UserGraphType(GraphType[User]): def __init__(self): GraphType.__init__(self) self.int_field( "id", resolver=lambda root: root.id, ) self.string_field( "name", resolver=lambda root: root.name, )