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

37 lines
925 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,
SQLAlchemyNode)
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
2016-07-23 06:32:18 +03:00
class Department(SQLAlchemyNode, SQLAlchemyObjectType):
2016-01-23 08:44:41 +03:00
class Meta:
model = DepartmentModel
2016-07-23 06:32:18 +03:00
class Employee(SQLAlchemyNode, SQLAlchemyObjectType):
2016-01-23 08:44:41 +03:00
class Meta:
model = EmployeeModel
2016-07-23 06:32:18 +03:00
class Role(SQLAlchemyNode, SQLAlchemyObjectType):
2016-04-13 15:16:01 +03:00
class Meta:
model = RoleModel
2016-01-23 08:44:41 +03:00
class Query(graphene.ObjectType):
2016-07-23 06:32:18 +03:00
node = SQLAlchemyNode.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])