From 91fe158c263b9e0a485a7c35a3ed3c9973d7b163 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Fri, 10 Dec 2021 13:23:49 -0500 Subject: [PATCH] Restore endpoint schema documentation --- netbox/ipam/api/views.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/netbox/ipam/api/views.py b/netbox/ipam/api/views.py index fe828e520..f3937c7d6 100644 --- a/netbox/ipam/api/views.py +++ b/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')