Coverage for backend/PinchAnalysis/views/PinchInputViewSet.py: 54%

22 statements  

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

1from core.viewset import ModelViewSet 

2from PinchAnalysis.models.InputModels import PinchInputs 

3from PinchAnalysis.serializers.PinchInputSerializers import PinchInputSerializer 

4from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes 

5from rest_framework.response import Response 

6import traceback 

7from PinchAnalysis.models.StreamDataProject import StreamDataProject 

8class PinchInputViewSet(ModelViewSet): 

9 serializer_class = PinchInputSerializer 

10 

11 def get_queryset(self): 

12 projectId = self.request.query_params.get("projectOwner") 

13 if projectId is not None: 

14 pinch_inputs = PinchInputs.objects.all().filter(project_owner_id=projectId) 

15 return pinch_inputs 

16 

17 @extend_schema( 

18 parameters=[ 

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

20 ] 

21 ) 

22 def list(self, request): 

23 return super().list(request) 

24 

25 def error_response(self, e): 

26 tb_info = traceback.format_exc() 

27 error_message = str(e) 

28 response_data = {'status': 'error', 'message': error_message, 'traceback': tb_info} 

29 return Response(response_data, status=400)