Portal/rsconcept/backend/apps/oss/serializers/basics.py

40 lines
1.2 KiB
Python
Raw Normal View History

2024-07-19 19:28:55 +03:00
''' Basic serializers that do not interact with database. '''
from rest_framework import serializers
2025-04-06 13:28:00 +03:00
class OperationNodeSerializer(serializers.Serializer):
2024-07-19 19:28:55 +03:00
''' Operation position. '''
id = serializers.IntegerField()
2025-04-06 13:28:00 +03:00
x = serializers.FloatField()
y = serializers.FloatField()
2024-07-19 19:28:55 +03:00
2025-04-06 13:28:00 +03:00
class BlockNodeSerializer(serializers.Serializer):
''' Block position. '''
id = serializers.IntegerField()
x = serializers.FloatField()
y = serializers.FloatField()
width = serializers.FloatField()
height = serializers.FloatField()
class LayoutSerializer(serializers.Serializer):
''' Layout for OperationSchema. '''
blocks = serializers.ListField(
child=BlockNodeSerializer()
)
operations = serializers.ListField(
child=OperationNodeSerializer()
2024-07-19 19:28:55 +03:00
)
2024-07-20 18:26:32 +03:00
class SubstitutionExSerializer(serializers.Serializer):
''' Serializer: Substitution extended data. '''
operation = serializers.IntegerField()
original = serializers.IntegerField()
substitution = serializers.IntegerField()
original_alias = serializers.CharField()
original_term = serializers.CharField()
substitution_alias = serializers.CharField()
substitution_term = serializers.CharField()