skillbox/server/notes/schema.py

59 lines
1.3 KiB
Python

import graphene
from graphene import relay
from graphene_django import DjangoObjectType
from notes.models import Note, ContentBlockBookmark, ModuleBookmark, ChapterBookmark, InstrumentBookmark
class NoteNode(DjangoObjectType):
pk = graphene.Int()
class Meta:
model = Note
fields = "__all__"
interfaces = (relay.Node,)
def resolve_pk(self, *args, **kwargs):
return self.id
class ContentBlockBookmarkNode(DjangoObjectType):
uuid = graphene.UUID()
note = graphene.Field(NoteNode)
class Meta:
model = ContentBlockBookmark
fields = "__all__"
filter_fields = []
interfaces = (relay.Node,)
class ModuleBookmarkNode(DjangoObjectType):
note = graphene.Field(NoteNode)
class Meta:
model = ModuleBookmark
fields = "__all__"
class ChapterBookmarkNode(DjangoObjectType):
note = graphene.Field(NoteNode)
class Meta:
model = ChapterBookmark
fields = "__all__"
filter_fields = []
interfaces = (relay.Node,)
class InstrumentBookmarkNode(DjangoObjectType):
uuid = graphene.UUID()
note = graphene.Field(NoteNode)
class Meta:
model = InstrumentBookmark
fields = "__all__"
filter_fields = []
interfaces = (relay.Node,)