Przeglądaj źródła

Restore endpoint schema documentation

jeremystretch 4 lat temu
rodzic
commit
91fe158c26
1 zmienionych plików z 11 dodań i 0 usunięć
  1. 11 0
      netbox/ipam/api/views.py

+ 11 - 0
netbox/ipam/api/views.py

@@ -2,6 +2,7 @@ from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
 from django.db import transaction
 from django_pglocks import advisory_lock
 from django.shortcuts import get_object_or_404
+from drf_yasg.utils import swagger_auto_schema
 from rest_framework import status
 from rest_framework.response import Response
 from rest_framework.routers import APIRootView
@@ -154,6 +155,7 @@ class ServiceViewSet(ModelViewSet):
 class AvailablePrefixesView(ObjectValidationMixin, APIView):
     queryset = Prefix.objects.all()
 
+    @swagger_auto_schema(responses={200: serializers.AvailablePrefixSerializer(many=True)})
     def get(self, request, pk):
         prefix = get_object_or_404(Prefix.objects.restrict(request.user), pk=pk)
         available_prefixes = prefix.get_available_prefixes()
@@ -165,6 +167,10 @@ class AvailablePrefixesView(ObjectValidationMixin, APIView):
 
         return Response(serializer.data)
 
+    @swagger_auto_schema(
+        request_body=serializers.PrefixLengthSerializer,
+        responses={201: serializers.PrefixSerializer(many=True)}
+    )
     @advisory_lock(ADVISORY_LOCK_KEYS['available-prefixes'])
     def post(self, request, pk):
         self.queryset = self.queryset.restrict(request.user, 'add')
@@ -234,6 +240,7 @@ class AvailableIPAddressesView(ObjectValidationMixin, APIView):
     def get_parent(self, request, pk):
         raise NotImplemented()
 
+    @swagger_auto_schema(responses={200: serializers.AvailableIPSerializer(many=True)})
     def get(self, request, pk):
         parent = self.get_parent(request, pk)
         config = get_config()
@@ -261,6 +268,10 @@ class AvailableIPAddressesView(ObjectValidationMixin, APIView):
 
         return Response(serializer.data)
 
+    @swagger_auto_schema(
+        request_body=serializers.AvailableIPSerializer,
+        responses={201: serializers.IPAddressSerializer(many=True)}
+    )
     @advisory_lock(ADVISORY_LOCK_KEYS['available-ips'])
     def post(self, request, pk):
         self.queryset = self.queryset.restrict(request.user, 'add')