2016-01-23 08:44:41 +03:00
|
|
|
import graphene
|
|
|
|
from graphene import relay
|
2016-01-24 00:12:01 +03:00
|
|
|
from graphene.contrib.sqlalchemy import SQLAlchemyNode, SQLAlchemyConnectionField
|
2016-01-23 08:44:41 +03:00
|
|
|
from models import Department as DepartmentModel, Employee as EmployeeModel
|
|
|
|
|
|
|
|
from database import db_session
|
|
|
|
|
|
|
|
schema = graphene.Schema(session=db_session)
|
|
|
|
|
|
|
|
|
|
|
|
@schema.register
|
|
|
|
class Department(SQLAlchemyNode):
|
|
|
|
class Meta:
|
|
|
|
model = DepartmentModel
|
|
|
|
|
|
|
|
|
|
|
|
@schema.register
|
|
|
|
class Employee(SQLAlchemyNode):
|
|
|
|
class Meta:
|
|
|
|
model = EmployeeModel
|
|
|
|
|
|
|
|
|
|
|
|
class Query(graphene.ObjectType):
|
|
|
|
node = relay.NodeField(Department, Employee)
|
2016-01-24 00:12:01 +03:00
|
|
|
all_employees = SQLAlchemyConnectionField(Employee)
|
2016-01-23 08:44:41 +03:00
|
|
|
|
|
|
|
schema.query = Query
|