Skip to content
Snippets Groups Projects
personal_note.py 1.23 KiB
Newer Older
Julian's avatar
Julian committed
from graphene_django import DjangoObjectType

from aleksis.apps.alsijil.models import NewPersonalNote
from aleksis.core.schema.base import (
    DjangoFilterMixin,
    BaseBatchCreateMutation,
    BaseBatchDeleteMutation,
    BaseBatchPatchMutation,
    OptimisticResponseTypeMixin,
    PermissionsTypeMixin,
)


class PersonalNoteType(
    OptimisticResponseTypeMixin,
    PermissionsTypeMixin,
    DjangoFilterMixin,
    DjangoObjectType,
):
    class Meta:
        model = NewPersonalNote
        fields = (
            "id",
            "note",
            "extra_mark",
        )

class PersonalNoteBatchCreateMutation(BaseBatchCreateMutation):
    class Meta:
        model = NewPersonalNote
        fields = ("note", "extra_mark", "documentation", "person")
        permissions = ("alsijil.create_personal_note",)  # FIXME


class PersonalNoteBatchPatchMutation(BaseBatchPatchMutation):
    class Meta:
        model = NewPersonalNote
        fields = ("id", "note", "extra_mark", "documentation", "person")
        permissions = ("alsijil.change_personal_note",)  # FIXME

class PersonalNoteBatchDeleteMutation(BaseBatchDeleteMutation):
    class Meta:
        model = NewPersonalNote
        permission_required = "alsijil.delete_personal_note"  # FIXME