Add highlight mutation
This commit is contained in:
parent
584b48a6a6
commit
4247164067
|
|
@ -0,0 +1,5 @@
|
||||||
|
mutation UpdateContentHighlight($input: UpdateContentHighlightInput!) {
|
||||||
|
updateContentHighlight(input: $input) {
|
||||||
|
success
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -10,6 +10,7 @@ from books.models import ContentBlock, Chapter, SchoolClass
|
||||||
from books.schema.inputs import ContentBlockInput
|
from books.schema.inputs import ContentBlockInput
|
||||||
from books.schema.queries import ContentBlockNode
|
from books.schema.queries import ContentBlockNode
|
||||||
from core.utils import set_hidden_for, set_visible_for
|
from core.utils import set_hidden_for, set_visible_for
|
||||||
|
from notes.models import ContentBlockHighlight
|
||||||
from .utils import handle_content_block, set_user_defined_block_type
|
from .utils import handle_content_block, set_user_defined_block_type
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -145,3 +146,37 @@ class DeleteContentBlock(relay.ClientIDMutation):
|
||||||
return cls(success=True)
|
return cls(success=True)
|
||||||
except ContentBlock.DoesNotExist:
|
except ContentBlock.DoesNotExist:
|
||||||
return cls(success=False, errors='Content block not found')
|
return cls(success=False, errors='Content block not found')
|
||||||
|
|
||||||
|
|
||||||
|
class UpdateContentHighlight(relay.ClientIDMutation):
|
||||||
|
class Input:
|
||||||
|
id = graphene.String(required=True)
|
||||||
|
content_block = graphene.ID(required=True)
|
||||||
|
highlight = graphene.Boolean(required=True)
|
||||||
|
|
||||||
|
success = graphene.Boolean()
|
||||||
|
errors = graphene.String()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def mutate_and_get_payload(cls, root, info, **kwargs):
|
||||||
|
id = kwargs.get('id')
|
||||||
|
user = info.context.user
|
||||||
|
content_block_id = kwargs.get('content_block')
|
||||||
|
highlight = kwargs.get('highlight')
|
||||||
|
|
||||||
|
content_block = get_object(ContentBlock, content_block_id)
|
||||||
|
|
||||||
|
if highlight:
|
||||||
|
ContentBlockHighlight.objects.create(
|
||||||
|
content_block=content_block,
|
||||||
|
id=id,
|
||||||
|
user=user
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
ContentBlockHighlight.objects.get(
|
||||||
|
content_block=content_block,
|
||||||
|
id=id,
|
||||||
|
user=user
|
||||||
|
).delete()
|
||||||
|
|
||||||
|
return cls(success=True)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
from books.schema.mutations.contentblock import MutateContentBlock, AddContentBlock, DeleteContentBlock
|
from books.schema.mutations.contentblock import MutateContentBlock, AddContentBlock, DeleteContentBlock, \
|
||||||
|
UpdateContentHighlight
|
||||||
from books.schema.mutations.module import UpdateSolutionVisibility, UpdateLastModule
|
from books.schema.mutations.module import UpdateSolutionVisibility, UpdateLastModule
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -8,3 +9,4 @@ class BookMutations(object):
|
||||||
delete_content_block = DeleteContentBlock.Field()
|
delete_content_block = DeleteContentBlock.Field()
|
||||||
update_solution_visibility = UpdateSolutionVisibility.Field()
|
update_solution_visibility = UpdateSolutionVisibility.Field()
|
||||||
update_last_module = UpdateLastModule.Field()
|
update_last_module = UpdateLastModule.Field()
|
||||||
|
update_content_highlight = UpdateContentHighlight.Field()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue