Coverage for backend/PinchAnalysis/views/PinchOptionsViewSet.py: 50%
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.OptionModels import MainOptions
3from PinchAnalysis.serializers.PinchOptionsSerializers import MainOptionsSerializer
4from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes
5from rest_framework.response import Response
6import traceback
8class PinchOptionsViewSet(ModelViewSet):
9 serializer_class = MainOptionsSerializer
11 def get_queryset(self):
12 queryset = MainOptions.objects.all()
13 projectId = self.request.query_params.get("projectOwner")
14 if projectId is not None:
15 queryset = queryset.filter(project_owner_id=projectId)
16 return queryset
18 @extend_schema(
19 parameters=[
20 OpenApiParameter(name="projectOwner", required=True, type=OpenApiTypes.INT),
21 ]
22 )
24 def list(self, request):
25 return super().list(request)
27 def error_response(self, e):
28 tb_info = traceback.format_exc()
29 error_message = str(e)
30 response_data = {'status': 'error', 'message': error_message, 'traceback': tb_info}
31 return Response(response_data, status=400)