37 lines
931 B
Python
37 lines
931 B
Python
# Module imports
|
|
from .base import BaseSerializer
|
|
from rest_framework import serializers
|
|
|
|
from plane.db.models import State, StateGroup
|
|
|
|
|
|
class StateSerializer(BaseSerializer):
|
|
order = serializers.FloatField(required=False)
|
|
|
|
class Meta:
|
|
model = State
|
|
fields = [
|
|
"id",
|
|
"project_id",
|
|
"workspace_id",
|
|
"name",
|
|
"color",
|
|
"group",
|
|
"default",
|
|
"description",
|
|
"sequence",
|
|
"order",
|
|
]
|
|
read_only_fields = ["workspace", "project"]
|
|
|
|
def validate(self, attrs):
|
|
if attrs.get("group") == StateGroup.TRIAGE.value:
|
|
raise serializers.ValidationError("Cannot create triage state")
|
|
return attrs
|
|
|
|
|
|
class StateLiteSerializer(BaseSerializer):
|
|
class Meta:
|
|
model = State
|
|
fields = ["id", "name", "color", "group"]
|
|
read_only_fields = fields
|