Swagger issue fixes from the Ericsson team:content-type extends the "application...
[modeling/etsicatalog.git] / catalog / packages / views / vnf_package_artifact_views.py
index 0de9682..dde7585 100644 (file)
 
 import logging
 
+from django.http import FileResponse
 from drf_yasg.utils import swagger_auto_schema
+from drf_yasg import openapi
 from rest_framework import status
 from rest_framework.views import APIView
-from django.http import FileResponse
 
-from catalog.packages.serializers.response import ProblemDetailsSerializer
 from catalog.packages.biz.vnf_pkg_artifacts import FetchVnfPkgArtifact
+from catalog.packages.const import TAG_VNF_PACKAGE_API
 from .common import view_safe_call_with_log
+from catalog.swagger.views import EtsiCatalogFileAutoSchema
 
 logger = logging.getLogger(__name__)
 
@@ -38,10 +40,16 @@ VALID_FILTERS = [
 class FetchVnfPkgmArtifactsView(APIView):
 
     @swagger_auto_schema(
+        auto_schema=EtsiCatalogFileAutoSchema,
+        tags=[TAG_VNF_PACKAGE_API],
         responses={
-            status.HTTP_200_OK: "HTTP_200_OK",
-            status.HTTP_404_NOT_FOUND: ProblemDetailsSerializer(),
-            status.HTTP_500_INTERNAL_SERVER_ERROR: ProblemDetailsSerializer()
+            status.HTTP_200_OK: openapi.Response("Return the artifact file",
+                                                 schema=openapi.Schema(format=openapi.FORMAT_BINARY,
+                                                                       type=openapi.TYPE_STRING)),
+            status.HTTP_404_NOT_FOUND: openapi.Response("Artifact not found",
+                                                        schema=openapi.Schema(type=openapi.TYPE_STRING)),
+            status.HTTP_500_INTERNAL_SERVER_ERROR: openapi.Response("Internal error",
+                                                                    schema=openapi.Schema(type=openapi.TYPE_STRING))
         }
     )
     @view_safe_call_with_log(logger=logger)