mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-26 01:06:11 -06:00
Apply OpenAPI decorators for get() and post()
This commit is contained in:
parent
76236945c8
commit
0bc1849d05
@ -250,8 +250,6 @@ class AvailableObjectsView(ObjectValidationMixin, APIView):
|
||||
"""
|
||||
return requested_objects
|
||||
|
||||
# TODO: Fix OpenAPI schema
|
||||
# @extend_schema(methods=["get"], responses={200: serializer(many=True)})
|
||||
def get(self, request, pk):
|
||||
parent = self.get_parent(request, pk)
|
||||
limit = get_results_limit(request)
|
||||
@ -264,8 +262,6 @@ class AvailableObjectsView(ObjectValidationMixin, APIView):
|
||||
|
||||
return Response(serializer.data)
|
||||
|
||||
# TODO: Fix OpenAPI schema
|
||||
# @extend_schema(methods=["post"], responses={201: serializer(many=True)})
|
||||
def post(self, request, pk):
|
||||
self.queryset = self.queryset.restrict(request.user, 'add')
|
||||
parent = self.get_parent(request, pk)
|
||||
@ -289,11 +285,8 @@ class AvailableObjectsView(ObjectValidationMixin, APIView):
|
||||
|
||||
# Determine if the requested number of objects is available
|
||||
if not self.check_sufficient_available(serializer.validated_data, available_objects):
|
||||
# TODO: Raise exception instead?
|
||||
return Response(
|
||||
{
|
||||
"detail": f"Insufficient resources are available to satisfy the request"
|
||||
},
|
||||
{"detail": f"Insufficient resources are available to satisfy the request"},
|
||||
status=status.HTTP_409_CONFLICT
|
||||
)
|
||||
|
||||
@ -349,6 +342,14 @@ class AvailableASNsView(AvailableObjectsView):
|
||||
|
||||
return requested_objects
|
||||
|
||||
@extend_schema(methods=["get"], responses={200: serializers.AvailableASNSerializer(many=True)})
|
||||
def get(self, request, pk):
|
||||
return super().get(request, pk)
|
||||
|
||||
@extend_schema(methods=["post"], responses={201: serializers.AvailableASNSerializer(many=True)})
|
||||
def post(self, request, pk):
|
||||
return super().post(request, pk)
|
||||
|
||||
|
||||
class AvailablePrefixesView(AvailableObjectsView):
|
||||
queryset = Prefix.objects.all()
|
||||
@ -386,11 +387,18 @@ class AvailablePrefixesView(AvailableObjectsView):
|
||||
'vrf': parent.vrf.pk if parent.vrf else None,
|
||||
})
|
||||
else:
|
||||
# TODO: Handle this
|
||||
raise ValidationError("Insufficient space is available to accommodate the requested prefix size(s)")
|
||||
|
||||
return requested_objects
|
||||
|
||||
@extend_schema(methods=["get"], responses={200: serializers.AvailablePrefixSerializer(many=True)})
|
||||
def get(self, request, pk):
|
||||
return super().get(request, pk)
|
||||
|
||||
@extend_schema(methods=["post"], responses={201: serializers.PrefixSerializer(many=True)})
|
||||
def post(self, request, pk):
|
||||
return super().post(request, pk)
|
||||
|
||||
|
||||
class AvailableIPAddressesView(AvailableObjectsView):
|
||||
queryset = IPAddress.objects.all()
|
||||
@ -423,6 +431,14 @@ class AvailableIPAddressesView(AvailableObjectsView):
|
||||
|
||||
return requested_objects
|
||||
|
||||
@extend_schema(methods=["get"], responses={200: serializers.AvailableIPSerializer(many=True)})
|
||||
def get(self, request, pk):
|
||||
return super().get(request, pk)
|
||||
|
||||
@extend_schema(methods=["post"], responses={201: serializers.IPAddressSerializer(many=True)})
|
||||
def post(self, request, pk):
|
||||
return super().post(request, pk)
|
||||
|
||||
|
||||
class PrefixAvailableIPAddressesView(AvailableIPAddressesView):
|
||||
|
||||
@ -461,3 +477,11 @@ class AvailableVLANsView(AvailableObjectsView):
|
||||
})
|
||||
|
||||
return requested_objects
|
||||
|
||||
@extend_schema(methods=["get"], responses={200: serializers.AvailableVLANSerializer(many=True)})
|
||||
def get(self, request, pk):
|
||||
return super().get(request, pk)
|
||||
|
||||
@extend_schema(methods=["post"], responses={201: serializers.VLANSerializer(many=True)})
|
||||
def post(self, request, pk):
|
||||
return super().post(request, pk)
|
||||
|
Loading…
Reference in New Issue
Block a user