Skip to content
Snippets Groups Projects
personal_note.py 1.41 KiB
Newer Older
from graphene_django import DjangoObjectType

from aleksis.apps.alsijil.models import PersonalNote
from aleksis.core.schema.base import (
    BaseBatchCreateMutation,
    BaseBatchDeleteMutation,
    BaseBatchPatchMutation,
Julian's avatar
Julian committed
    DjangoFilterMixin,
    OptimisticResponseTypeMixin,
    PermissionsTypeMixin,
)


class PersonalNoteType(
    OptimisticResponseTypeMixin,
    PermissionsTypeMixin,
    DjangoFilterMixin,
    DjangoObjectType,
):
    class Meta:
        model = PersonalNote
        fields = (
            "id",
            "note",
            "extra_mark",
            "documentation",
Julian's avatar
Julian committed

class PersonalNoteBatchCreateMutation(BaseBatchCreateMutation):
    class Meta:
        model = PersonalNote
        type_name = "BatchCreatePersonalNoteInput"
        return_field_name = "personalNotes"
        fields = ("note", "extra_mark", "documentation", "person")
        permissions = ("alsijil.edit_personal_note_rule",)


class PersonalNoteBatchPatchMutation(BaseBatchPatchMutation):
    class Meta:
        model = PersonalNote
        type_name = "BatchPatchPersonalNoteInput"
        return_field_name = "personalNotes"
        fields = ("id", "note", "extra_mark", "documentation", "person")
        permissions = ("alsijil.edit_personal_note_rule",)
Julian's avatar
Julian committed

class PersonalNoteBatchDeleteMutation(BaseBatchDeleteMutation):
    class Meta:
        model = PersonalNote
        permissions = ("alsijil.edit_personal_note_rule",)