from books.schema.mutations.chapter import UpdateChapterVisibility
from books.schema.mutations.contentblock import DuplicateContentBlock, MutateContentBlock, AddContentBlock, \
    DeleteContentBlock
from books.schema.mutations.module import UpdateSolutionVisibility, UpdateLastModule, SyncModuleVisibility, UpdateLastModuleLevel
from books.schema.mutations.snapshot import CreateSnapshot, ApplySnapshot, ShareSnapshot, UpdateSnapshot, DeleteSnapshot
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()
    duplicate_content_block = DuplicateContentBlock.Field()
    update_solution_visibility = UpdateSolutionVisibility.Field()
    update_last_module = UpdateLastModule.Field()
    update_last_topic = UpdateLastTopic.Field()
    update_last_module_level = UpdateLastModuleLevel.Field()
    update_chapter_visibility = UpdateChapterVisibility.Field()
    sync_module_visibility = SyncModuleVisibility.Field()
    create_snapshot = CreateSnapshot.Field()
    apply_snapshot = ApplySnapshot.Field()
    share_snapshot = ShareSnapshot.Field()
    update_snapshot = UpdateSnapshot.Field()
    delete_snapshot = DeleteSnapshot.Field()
