Clean up module query
This commit is contained in:
parent
6f9666407c
commit
f5e163c3cd
|
|
@ -1,41 +1,37 @@
|
|||
#import "./fragments/contentBlockParts.gql"
|
||||
query ModulesQuery($slug: String!) {
|
||||
modules(slug: $slug) {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
slug
|
||||
title
|
||||
metaTitle
|
||||
teaser
|
||||
intro
|
||||
objectiveGroups {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
title
|
||||
objectiveSet {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
text
|
||||
}
|
||||
}
|
||||
module(slug: $slug) {
|
||||
id
|
||||
slug
|
||||
title
|
||||
metaTitle
|
||||
teaser
|
||||
intro
|
||||
objectiveGroups {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
title
|
||||
objectiveSet {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
text
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
chapters {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
title
|
||||
contentBlocks {
|
||||
edges {
|
||||
node {
|
||||
...ContentBlockParts
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
chapters {
|
||||
edges {
|
||||
node {
|
||||
id
|
||||
title
|
||||
contentBlocks {
|
||||
edges {
|
||||
node {
|
||||
...ContentBlockParts
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,18 +20,15 @@
|
|||
},
|
||||
|
||||
apollo: {
|
||||
moduleQuery() {
|
||||
module() {
|
||||
return {
|
||||
query: MODULE_DETAILS_QUERY,
|
||||
variables: {
|
||||
slug: store.state.moduleSlug
|
||||
},
|
||||
manual: true,
|
||||
result({data, loading, networkStatus}) {
|
||||
if (!loading) {
|
||||
const cleanedData = this.$getRidOfEdges(data);
|
||||
this.module = cleanedData.modules[0] || {};
|
||||
}
|
||||
update(data) {
|
||||
const cleanedData = this.$getRidOfEdges(data);
|
||||
return cleanedData.module || {};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ from graphene import relay
|
|||
from graphene_django import DjangoObjectType
|
||||
from graphene_django.filter import DjangoFilterConnectionField
|
||||
|
||||
from api.utils import get_object
|
||||
from book.models import Book, Topic, Module, Chapter, ContentBlock
|
||||
from book.schema.queries import BookNode, TopicNode, ModuleNode, ContentBlockNode
|
||||
|
||||
|
|
@ -49,7 +50,7 @@ class VisibilityNode(DjangoObjectType):
|
|||
class BookQuery(object):
|
||||
book = relay.Node.Field(BookNode)
|
||||
topic = relay.Node.Field(TopicNode)
|
||||
module = relay.Node.Field(ModuleNode)
|
||||
module = graphene.Field(ModuleNode, slug=graphene.String())
|
||||
chapter = relay.Node.Field(FilteredChapterNode)
|
||||
content_block = relay.Node.Field(ContentBlockNode)
|
||||
|
||||
|
|
@ -69,3 +70,13 @@ class BookQuery(object):
|
|||
|
||||
def resolve_chapters(self, *args, **kwargs):
|
||||
return Chapter.objects.filter(**kwargs).live()
|
||||
|
||||
def resolve_module(self, info, **kwargs):
|
||||
slug = kwargs.get('slug')
|
||||
id = kwargs.get('id')
|
||||
|
||||
if id is not None:
|
||||
return get_object(Module, id)
|
||||
if slug is not None:
|
||||
return Module.objects.get(slug=slug)
|
||||
return None
|
||||
|
|
|
|||
Loading…
Reference in New Issue