skillbox/server/books/schema/interfaces/module.py

20 lines
611 B
Python

import graphene
from graphene import relay
from wagtail.images.models import Image
from api.graphene_wagtail import generate_image_url
class ModuleInterface(relay.Node):
pk = graphene.Int()
hero_image = graphene.String(required=True)
topic = graphene.Field('books.schema.nodes.TopicNode')
@staticmethod
def resolve_pk(parent, info, **kwargs):
return parent.id
@staticmethod
def resolve_hero_image(parent, info, **kwargs):
if parent.hero_image:
image = Image.objects.get(id=parent.hero_image.id)
return generate_image_url(image, 'original')