graphene/graphene-sqlalchemy/examples/flask_sqlalchemy/schema.py

41 lines
1.0 KiB
Python

import graphene
from graphene import relay
from graphene_sqlalchemy import (SQLAlchemyConnectionField,
SQLAlchemyObjectType)
from models import Department as DepartmentModel
from models import Employee as EmployeeModel
from models import Role as RoleModel
class Department(SQLAlchemyObjectType):
class Meta:
model = DepartmentModel
interfaces = (relay.Node, )
class Employee(SQLAlchemyObjectType):
class Meta:
model = EmployeeModel
interfaces = (relay.Node, )
class Role(SQLAlchemyObjectType):
class Meta:
model = RoleModel
interfaces = (relay.Node, )
class Query(graphene.ObjectType):
node = relay.Node.Field()
employee_connection = relay.Connection.for_type(Employee)
role_connection = relay.Connection.for_type(Role)
all_employees = SQLAlchemyConnectionField(employee_connection)
all_roles = SQLAlchemyConnectionField(role_connection)
role = graphene.Field(Role)
schema = graphene.Schema(query=Query, types=[Department, Employee, Role])