Coverage for backend/core/auxiliary/viewsets/ExpressionViewSet.py: 56%

16 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-11-06 23:27 +0000

1from core.viewset import ModelViewSet 

2from rest_framework.response import Response 

3from core.auxiliary.models.Expression import Expression 

4from core.auxiliary.serializers.ExpressionSerializer import ExpressionSerializer 

5from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes 

6class ExpressionViewSet(ModelViewSet): 

7 serializer_class = ExpressionSerializer 

8 

9 # Filter to only show expressions for a specific flowsheet 

10 def get_queryset(self): 

11 queryset = Expression.objects.all() 

12 scenario_id = self.request.query_params.get("scenario") 

13 if scenario_id is not None: 

14 queryset = queryset.filter(scenario_id=scenario_id) 

15 return queryset 

16 

17 @extend_schema( 

18 parameters=[ 

19 OpenApiParameter(name="scenario", required=True, type=OpenApiTypes.INT), 

20 ] 

21 ) 

22 def list(self, request): 

23 return super().list(request)