Add serializer for Subscribe 96/83096/2
authorfujinhua <fu.jinhua@zte.com.cn>
Sat, 23 Mar 2019 07:44:06 +0000 (15:44 +0800)
committerfujinhua <fu.jinhua@zte.com.cn>
Sat, 23 Mar 2019 07:52:40 +0000 (15:52 +0800)
Change-Id: Iea14a6d0852bef83959499160b8e22f7403e0228
Issue-ID: VFC-1307
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
zte/vmanager/driver/interfaces/serializers.py
zte/vmanager/driver/interfaces/views.py

index eafe093..2e7cbae 100644 (file)
@@ -433,3 +433,38 @@ class InstScaleHealRespSerializer(serializers.Serializer):
         max_length=255,
         required=True,
         allow_null=True)
+
+
+class SubscribeFilterSerializer(serializers.Serializer):
+    vendor = serializers.CharField(
+        help_text="vendor",
+        max_length=255,
+        required=True,
+        allow_null=True)
+    type = serializers.CharField(
+        help_text="type",
+        max_length=255,
+        required=True,
+        allow_null=True)
+
+
+class SubscribeSerializer(serializers.Serializer):
+    subscribeid = serializers.CharField(
+        help_text="subscribeid",
+        max_length=255,
+        required=True,
+        allow_null=True)
+    notificationuri = serializers.CharField(
+        help_text="notificationuri",
+        max_length=255,
+        required=True,
+        allow_null=True)
+    filter = SubscribeFilterSerializer(
+        help_text="filter",
+        many=True,
+        required=False,
+        allow_null=True)
+
+
+class SubscribesRespSerializer(serializers.Serializer):
+    child = SubscribeSerializer()
index 54325b3..579da8d 100644 (file)
@@ -27,7 +27,7 @@ from django.http import StreamingHttpResponse
 
 from driver.interfaces.serializers import HealReqSerializer, InstScaleHealRespSerializer, ScaleReqSerializer, \
     NotifyReqSerializer, GrantRespSerializer, GrantReqSerializer, JobQueryRespSerializer, TerminateVnfRequestSerializer, \
-    InstantiateVnfRequestSerializer, QueryVnfResponseSerializer
+    InstantiateVnfRequestSerializer, QueryVnfResponseSerializer, SubscribesRespSerializer
 from driver.pub.config.config import VNF_FTP
 from driver.pub.utils import restcall
 from driver.pub.utils.restcall import req_by_msb
@@ -628,6 +628,12 @@ class SampleList(APIView):
 
 
 class Subscribe(APIView):
+    @swagger_auto_schema(
+        responses={
+            status.HTTP_200_OK: SubscribesRespSerializer(),
+            status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"
+        }
+    )
     def get(self, request):
         logger.debug("====Subscribe get====")
         resp_data = {