31 lines
702 B
Python
31 lines
702 B
Python
|
|
import graphene
|
||
|
|
from graphene_django import DjangoObjectType
|
||
|
|
from apps.users.models import User
|
||
|
|
|
||
|
|
|
||
|
|
class UserType(DjangoObjectType):
|
||
|
|
"""GraphQL type for User."""
|
||
|
|
|
||
|
|
class Meta:
|
||
|
|
model = User
|
||
|
|
fields = '__all__'
|
||
|
|
|
||
|
|
|
||
|
|
class Query(graphene.ObjectType):
|
||
|
|
"""Root GraphQL Query."""
|
||
|
|
|
||
|
|
all_users = graphene.List(UserType)
|
||
|
|
me = graphene.Field(UserType)
|
||
|
|
|
||
|
|
def resolve_all_users(root, info):
|
||
|
|
"""Resolve all users query."""
|
||
|
|
return User.objects.all()
|
||
|
|
|
||
|
|
def resolve_me(root, info):
|
||
|
|
"""Resolve current user query."""
|
||
|
|
if info.context.user.is_authenticated:
|
||
|
|
return info.context.user
|
||
|
|
return None
|
||
|
|
|
||
|
|
|
||
|
|
schema = graphene.Schema(query=Query)
|