Add serializer class definition
This commit is contained in:
parent
063b5f154a
commit
d1e73fb6ca
|
|
@ -19,6 +19,7 @@ from InvenTree.permissions import IsStaffOrReadOnly
|
|||
from InvenTree.serializers import EmptySerializer
|
||||
from machine.machine_type import MachineStatus
|
||||
|
||||
from .serializers import GenericStateClassSerializer
|
||||
from .states import StatusCode
|
||||
|
||||
|
||||
|
|
@ -38,6 +39,7 @@ class StatusView(GenericAPIView):
|
|||
"""
|
||||
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
serializer_class = GenericStateClassSerializer
|
||||
|
||||
# Override status_class for implementing subclass
|
||||
MODEL_REF = 'statusmodel'
|
||||
|
|
@ -56,7 +58,7 @@ class StatusView(GenericAPIView):
|
|||
@extend_schema(
|
||||
description='Retrieve information about a specific status code',
|
||||
responses={
|
||||
200: OpenApiResponse(description='Status code information'),
|
||||
200: GenericStateClassSerializer,
|
||||
400: OpenApiResponse(description='Invalid request'),
|
||||
},
|
||||
)
|
||||
|
|
@ -87,7 +89,9 @@ class StatusView(GenericAPIView):
|
|||
except Exception:
|
||||
pass
|
||||
|
||||
return Response(data)
|
||||
serializer = GenericStateClassSerializer(data, many=False)
|
||||
|
||||
return Response(serializer.data)
|
||||
|
||||
|
||||
class AllStatusViews(StatusView):
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
"""Serializer classes for handling generic state information."""
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from rest_framework import serializers
|
||||
|
||||
|
||||
class GenericStateValueSerializer(serializers.Serializer):
|
||||
"""API serializer for generic state information."""
|
||||
|
||||
class Meta:
|
||||
"""Meta class for GenericStateValueSerializer."""
|
||||
|
||||
fields = ['key', 'logical_key', 'name', 'label', 'color']
|
||||
|
||||
key = serializers.IntegerField(label=_('Key'), required=True)
|
||||
|
||||
logical_key = serializers.CharField(label=_('Logical Key'), required=False)
|
||||
|
||||
name = serializers.CharField(label=_('Name'), required=True)
|
||||
|
||||
label = serializers.CharField(label=_('Label'), required=True)
|
||||
|
||||
color = serializers.CharField(label=_('Color'), required=False)
|
||||
|
||||
|
||||
class GenericStateClassSerializer(serializers.Serializer):
|
||||
"""API serializer for generic state class information."""
|
||||
|
||||
class Meta:
|
||||
"""Meta class for GenericStateClassSerializer."""
|
||||
|
||||
fields = ['class', 'values']
|
||||
|
||||
class_ = serializers.CharField(label=_('Class'), read_only=True)
|
||||
|
||||
values = serializers.DictField(
|
||||
child=GenericStateValueSerializer(), label=_('Values'), required=True
|
||||
)
|
||||
Loading…
Reference in New Issue