Coverage for src/backend/InvenTree/generic/states/serializers.py: 100%
16 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-10-07 17:47 +0000
1"""Serializer classes for handling generic state information."""
3from django.utils.translation import gettext_lazy as _
5from rest_framework import serializers
8class GenericStateValueSerializer(serializers.Serializer):
9 """API serializer for generic state information."""
11 class Meta:
12 """Meta class for GenericStateValueSerializer."""
14 fields = ['key', 'logical_key', 'name', 'label', 'color', 'custom']
16 key = serializers.IntegerField(label=_('Key'), required=True)
18 logical_key = serializers.CharField(label=_('Logical Key'), required=False)
20 name = serializers.CharField(label=_('Name'), required=True)
22 label = serializers.CharField(label=_('Label'), required=True)
24 color = serializers.CharField(label=_('Color'), required=False)
26 custom = serializers.BooleanField(label=_('Custom'), required=False)
29class GenericStateClassSerializer(serializers.Serializer):
30 """API serializer for generic state class information."""
32 class Meta:
33 """Meta class for GenericStateClassSerializer."""
35 fields = ['status_class', 'values']
37 status_class = serializers.CharField(label=_('Class'), read_only=True)
39 values = serializers.DictField(
40 child=GenericStateValueSerializer(), label=_('Values'), required=True
41 )