From 00e94a2b29838c63b200ea27f5f40f7bb5bd5a1f Mon Sep 17 00:00:00 2001 From: Egor fureunoir Gorbunov Date: Thu, 16 Oct 2025 10:01:34 +0300 Subject: [PATCH] Features: 1) Add validation to ensure `order_product_uuid` is required in `download_digital_asset_view`. Fixes: 1) Remove unnecessary blank line in `core/viewsets.py`. Extra: 1) Minor cleanup in `core/views.py` to improve clarity. --- core/views.py | 5 ++++- core/viewsets.py | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/views.py b/core/views.py index a7b4a9aa..355664fe 100644 --- a/core/views.py +++ b/core/views.py @@ -304,7 +304,10 @@ class BuyAsBusinessView(APIView): def download_digital_asset_view(request: HttpRequest, *args, **kwargs) -> FileResponse | JsonResponse: try: logger.debug(f"download_digital_asset_view: {kwargs}") - uuid = urlsafe_base64_decode(str(kwargs.get("order_product_uuid"))).decode("utf-8") + op_uuid = str(kwargs.get("order_product_uuid")) + if not op_uuid: + raise BadRequest(_("order_product_uuid is required")) + uuid = urlsafe_base64_decode(op_uuid).decode("utf-8") download = DigitalAssetDownload.objects.get(order_product__uuid=uuid) diff --git a/core/viewsets.py b/core/viewsets.py index 12a463ca..b2051a6b 100644 --- a/core/viewsets.py +++ b/core/viewsets.py @@ -769,7 +769,6 @@ class OrderViewSet(EvibesViewSet): except ValueError as ve: return Response(status=status.HTTP_400_BAD_REQUEST, data={"detail": str(ve)}) - @action(detail=True, methods=["post"], url_path="bulk_remove_order_products") def bulk_remove_order_products(self, request: Request, *args, **kwargs) -> Response: serializer = BulkRemoveOrderProductsSerializer(data=request.data)