skillbox/server/user/schema.py

37 lines
820 B
Python

import graphene
from graphene import relay
from graphene_django import DjangoObjectType
from graphene_django.filter import DjangoFilterConnectionField
from user.models import UserGroup, User
class UserNode(DjangoObjectType):
pk = graphene.Int()
class Meta:
model = User
filter_fields = ['username', 'email']
interfaces = (relay.Node,)
def resolve_pk(self, *args, **kwargs):
return self.id
class UserGroupNode(DjangoObjectType):
pk = graphene.Int()
class Meta:
model = UserGroup
filter_fields = ['name']
interfaces = (relay.Node,)
def resolve_pk(self, *args, **kwargs):
return self.id
class UsersQuery(object):
user_group = relay.Node.Field(UserGroupNode)
user_groups = DjangoFilterConnectionField(UserGroupNode)