from books.schema.mutations.chapter import UpdateChapterVisibility
from books.schema.mutations.contentblock import MutateContentBlock, AddContentBlock, DeleteContentBlock
from books.schema.mutations.module import UpdateSolutionVisibility, UpdateLastModule, SyncModuleVisibility
from books.schema.mutations.snapshot import CreateSnapshot, ApplySnapshot, ShareSnapshot
from books.schema.mutations.topic import UpdateLastTopic


class BookMutations(object):
    mutate_content_block = MutateContentBlock.Field()
    add_content_block = AddContentBlock.Field()
    delete_content_block = DeleteContentBlock.Field()
    update_solution_visibility = UpdateSolutionVisibility.Field()
    update_last_module = UpdateLastModule.Field()
    update_last_topic = UpdateLastTopic.Field()
    update_chapter_visibility = UpdateChapterVisibility.Field()
    sync_module_visibility = SyncModuleVisibility.Field()
    create_snapshot = CreateSnapshot.Field()
    apply_snapshot = ApplySnapshot.Field()
    share_snapshot = ShareSnapshot.Field()
