Coverage for backend/core/auxiliary/viewsets/RecycleDataViewSet.py: 71%
32 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 core.viewset import ModelViewSet
2from drf_spectacular.utils import extend_schema
3from drf_spectacular.types import OpenApiTypes
4from drf_spectacular.openapi import OpenApiParameter
5from ..serializers.RecycleDataSerializer import RecycleDataSerializer, RecyclePropertySerializer
6from ..models.RecycleData import RecycleData, RecycleProperty
7class RecycleDataViewSet(ModelViewSet):
8 serializer_class = RecycleDataSerializer
10 def get_queryset(self):
11 if hasattr(self, '_cached_queryset'): 11 ↛ 12line 11 didn't jump to line 12 because the condition on line 11 was never true
12 return self._cached_queryset
14 from flowsheetInternals.graphicData.models.graphicObjectModel import GraphicObject
15 queryset = RecycleData.objects.all()
16 projectId = self.request.query_params.get('projectId', None)
17 if projectId is not None: 17 ↛ 18line 17 didn't jump to line 18 because the condition on line 17 was never true
18 queryset = queryset.filter(simulationObject__flowsheet__id=projectId)
20 groupId = self.request.query_params.get('group', None)
21 if groupId is not None: 21 ↛ 22line 21 didn't jump to line 22 because the condition on line 21 was never true
22 graphicObjects = GraphicObject.objects.filter(group=groupId).select_related("simulationObject")
23 simulation_object_ids = [graphicObject.simulationObject.id for graphicObject in graphicObjects]
24 queryset = queryset.filter(simulationObject__id__in=simulation_object_ids)
26 self._cached_queryset = queryset
27 return queryset
29 @extend_schema(
30 parameters=[
31 OpenApiParameter(name="projectId", required=False, type=OpenApiTypes.INT),
32 OpenApiParameter(name="group", required=False, type=OpenApiTypes.INT),
33 ]
34 )
35 def list(self, request):
36 return super().list(request)
39class RecyclePropertyViewSet(ModelViewSet):
40 serializer_class = RecyclePropertySerializer
42 def get_queryset(self):
43 return RecycleProperty.objects.all()
45 def update(self, request, *args, **kwargs):
46 return super().update(request, *args, **kwargs)