Coverage for backend/django/core/auxiliary/views/CopyFlowsheetView.py: 100%
18 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-02-11 21:43 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-02-11 21:43 +0000
2from rest_framework.response import Response
3from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes
4from rest_framework.decorators import api_view
5from drf_spectacular.utils import extend_schema
6from core.validation import api_view_validate, sanitize_flowsheet_id
7from core.auxiliary.methods.CopyFlowsheet import copy_flowsheet_data
8from authentication.user.models import User
9from core.auxiliary.models.Flowsheet import Flowsheet
11@api_view_validate
12@extend_schema(parameters=[
13 OpenApiParameter(name='flowsheet', type=OpenApiTypes.INT, location=OpenApiParameter.QUERY, description="ID of the flowsheet to copy"),
14], responses={200: OpenApiTypes.INT})
15@api_view(['POST'])
16def copy_flowsheet(request) -> Response:
17 flowsheet_id = request.GET.get("flowsheet")
18 sanitize_flowsheet_id(flowsheet_id)
20 user: User = request.user
21 old_flowsheet = Flowsheet.objects.get(pk=flowsheet_id)
22 new_flowsheet = copy_flowsheet_data(old_flowsheet, user=user)
24 return Response(data=new_flowsheet.pk, status=200)