Coverage for backend/django/PinchAnalysis/views/HenNodeViewSet.py: 85%
27 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-07-22 05:22 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-07-22 05:22 +0000
1from core.serializer_base import StateOwnedModelSerializer
2from PinchAnalysis.models.HenNode import HenNode
3from django.db.models import Q
4from django.db import transaction
5from rest_framework import serializers
6from PinchAnalysis.views.henNodeHelpers import group_stream_by_unitop_type, is_hot, is_cold, set_hennode_connections
7from core.viewset import ModelViewSet
8from rest_framework.decorators import action
9from rest_framework.response import Response
10from PinchAnalysis.models.InputModels import StreamDataEntry
11from drf_spectacular.utils import extend_schema
12import traceback
15class BulkCreateHenNodeInputSerializer(serializers.Serializer):
16 stream_ids = serializers.ListField(
17 child=serializers.IntegerField(),
18 required=False
19 )
21class HenNodeSerializer(StateOwnedModelSerializer):
22 class Meta:
23 model = HenNode
24 fields = "__all__"
27class HenNodeViewSet(ModelViewSet):
28 serializer_class = HenNodeSerializer
30 def get_queryset(self):
31 return HenNode.objects.all()
33 def error_response(self, e):
34 tb_info = traceback.format_exc()
35 error_message = str(e)
36 response_data = {
37 'status': 'error',
38 'message': error_message,
39 'traceback': tb_info
40 }
41 return Response(response_data, status=400)