Coverage for backend/core/auxiliary/viewsets/ScenarioViewSet.py: 57%

19 statements  

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

1from core.viewset import ModelViewSet 

2 

3from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes 

4from ..serializers.ScenarioSerializer import ScenarioSerializer, OptimizationDegreesOfFreedomSerializer 

5from ..models.Scenario import Scenario, OptimizationDegreesOfFreedom 

6 

7class ScenarioViewSet(ModelViewSet): 

8 serializer_class = ScenarioSerializer 

9 

10 

11 def get_queryset(self): 

12 queryset = Scenario.objects.all() 

13 simulationObjectId = self.request.query_params.get("simulationObjectId") 

14 if simulationObjectId is not None: 

15 queryset = queryset.filter(simulationObject=simulationObjectId) 

16 return queryset 

17 

18 @extend_schema( 

19 parameters=[ 

20 OpenApiParameter(name="simulationObjectId", required=True, type=OpenApiTypes.INT), 

21 ] 

22 ) 

23 def list(self, request): 

24 return super().list(request) 

25 

26 

27class OptimizationDegreesOfFreedomViewSet(ModelViewSet): 

28 serializer_class = OptimizationDegreesOfFreedomSerializer 

29 

30 def get_queryset(self): 

31 return OptimizationDegreesOfFreedom.objects.all()