Codebase list python-graphene-sqlalchemy / be59e656-49a1-4fd3-96b2-736b35c37ced/main examples / nameko_sqlalchemy / schema.py
be59e656-49a1-4fd3-96b2-736b35c37ced/main

Tree @be59e656-49a1-4fd3-96b2-736b35c37ced/main (Download .tar.gz)

schema.py @be59e656-49a1-4fd3-96b2-736b35c37ced/mainraw · history · blame

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()
    all_employees = SQLAlchemyConnectionField(Employee)
    all_roles = SQLAlchemyConnectionField(Role)
    role = graphene.Field(Role)


schema = graphene.Schema(query=Query, types=[Department, Employee, Role])