2024-07-19 19:29:27 +03:00
|
|
|
''' Basic serializers that do not interact with database. '''
|
|
|
|
from rest_framework import serializers
|
|
|
|
|
|
|
|
|
2025-04-06 15:49:43 +03:00
|
|
|
class OperationNodeSerializer(serializers.Serializer):
|
2024-07-19 19:29:27 +03:00
|
|
|
''' Operation position. '''
|
|
|
|
id = serializers.IntegerField()
|
2025-04-06 15:49:43 +03:00
|
|
|
x = serializers.FloatField()
|
|
|
|
y = serializers.FloatField()
|
2024-07-19 19:29:27 +03:00
|
|
|
|
|
|
|
|
2025-04-06 15:49:43 +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:29:27 +03:00
|
|
|
)
|
2024-07-21 15:19:57 +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()
|