Coverage for backend/PinchAnalysis/serializers/PinchInputSerializers.py: 70%
28 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2025-11-06 23:27 +0000
1from rest_framework import serializers
2from PinchAnalysis.models.InputModels import PinchInputs, Segment, PinchUtility
3from drf_spectacular.utils import extend_schema_field
4class SegmentSerializer(serializers.ModelSerializer):
5 zone = serializers.SerializerMethodField()
6 class Meta:
7 model = Segment
8 fields = '__all__'
10 def create(self, validated_data):
11 return Segment.create(**validated_data)
13 def get_zone(self, obj):
14 zone_object = obj.zone_object
15 if zone_object is None:
16 return "Flowsheet"
17 return f"{zone_object.simulationObject.componentName} - {zone_object.abstractionType}"
18class PinchUtilitySerializer(serializers.ModelSerializer):
20 class Meta:
21 model = PinchUtility
22 fields = '__all__'
24 def create(self, validated_data):
25 return PinchUtility.create(**validated_data)
27class PinchInputSerializer(serializers.ModelSerializer):
28 pinch_utilities = PinchUtilitySerializer(many=True, source='PinchUtilities')
30 class Meta:
31 model = PinchInputs
32 fields = '__all__'
34 def create(self, validated_data):
35 return PinchInputs.create(**validated_data)