import graphene
from graphene import InputObjectType


class AddNoteArgument(InputObjectType):
    content = graphene.UUID()
    block = graphene.String()
    type = graphene.String()
    parent = graphene.ID()
    text = graphene.String(required=True)


class UpdateNoteArgument(InputObjectType):
    id = graphene.ID(required=True)
    text = graphene.String(required=True)


class AddHighlightArgument(InputObjectType):
    page = graphene.String(required=True)
    paragraph_index = graphene.Int(required=True)
    text = graphene.String(required=True)
    start_position = graphene.Int(required=True)
    selection_length = graphene.Int(required=True)
    color = graphene.String(required=True)


class AddContentHighlightArgument(AddHighlightArgument):
    content_index = graphene.Int(required=True)
    content_uuid = graphene.UUID(required=True)
