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.graphql.schema.query import Query 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 HelloQuery(Query): def __init__(self): Query.__init__(self) self.string_field( "message", resolver=lambda *_, name: f"Hello {name} {get_request().state.request_id}", ).with_argument(str, "name", "Name to greet", "world") self.collection_field( UserGraphType, "users", UserFilter, UserSort, resolver=lambda *_: users, ) self.collection_field( CityGraphType, "cities", CityFilter, CitySort, resolver=lambda *_: cities, )