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
« 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
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
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)
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)