diff --git a/database/schema.py b/database/schema.py index fe50e7aa4295d3f8cdd7b17f31449e8e163a39fa..c5f90ded646c327f758c7734faac3ca0c364618a 100644 --- a/database/schema.py +++ b/database/schema.py @@ -11,38 +11,24 @@ class User(SQLAlchemyObjectType): exclude_fields = ("password") interfaces = (relay.Node, ) - -class UserConnections(relay.Connection): - class Meta: - node = User - - class Application(SQLAlchemyObjectType): class Meta: model = ApplicationModel interfaces = (relay.Node, ) - -class ApplicationConnections(relay.Connection): - class Meta: - node = Application - - class Role(SQLAlchemyObjectType): class Meta: model = RoleModel interfaces = (relay.Node, ) -class RoleConnections(relay.Connection): - class Meta: - node = Role - - class Query(graphene.ObjectType): node = relay.Node.Field() - all_users = SQLAlchemyConnectionField(UserConnections) - all_application = SQLAlchemyConnectionField(ApplicationConnections) - all_roles = SQLAlchemyConnectionField(RoleConnections) + all_users = SQLAlchemyConnectionField(User) + find_user = graphene.Field(User,username=graphene.String()) + + def resolve_find_user(root, info, username): + query = User.get_query(info) + return query.filter(UserModel.username == username).first() schema = graphene.Schema(query=Query)