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

39 lines
932 B
Python
Raw Normal View History

2016-01-23 08:44:41 +03:00
import graphene
from graphene import relay
2016-07-23 06:32:18 +03:00
from graphene_sqlalchemy import (SQLAlchemyConnectionField,
SQLAlchemyObjectType)
from models import Department as DepartmentModel
from models import Employee as EmployeeModel
2016-04-13 15:16:01 +03:00
from models import Role as RoleModel
2016-01-23 08:44:41 +03:00
class Department(SQLAlchemyObjectType):
2016-01-23 08:44:41 +03:00
class Meta:
model = DepartmentModel
interfaces = (relay.Node, )
2016-01-23 08:44:41 +03:00
class Employee(SQLAlchemyObjectType):
2016-01-23 08:44:41 +03:00
class Meta:
model = EmployeeModel
interfaces = (relay.Node, )
2016-01-23 08:44:41 +03:00
class Role(SQLAlchemyObjectType):
2016-04-13 15:16:01 +03:00
class Meta:
model = RoleModel
interfaces = (relay.Node, )
2016-04-13 15:16:01 +03:00
2016-01-23 08:44:41 +03:00
class Query(graphene.ObjectType):
node = relay.Node.Field()
2016-01-24 00:12:01 +03:00
all_employees = SQLAlchemyConnectionField(Employee)
2016-04-13 15:16:01 +03:00
all_roles = SQLAlchemyConnectionField(Role)
2016-07-23 06:32:18 +03:00
role = graphene.Field(Role)
2016-01-23 08:44:41 +03:00
2016-07-23 06:32:18 +03:00
schema = graphene.Schema(query=Query, types=[Department, Employee, Role])