Skip to content

Commit

Permalink
Merge pull request #366 from peteeckel/fix/removed-obsolete-api-endpo…
Browse files Browse the repository at this point in the history
…ints

Removed explicit API endpoints that can be replaced by filters
  • Loading branch information
peteeckel authored Aug 25, 2024
2 parents 1ab77c8 + d62eb6d commit 39ab3a2
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 31 deletions.
28 changes: 0 additions & 28 deletions netbox_dns/api/views.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
from rest_framework import serializers
from rest_framework.decorators import action
from rest_framework.response import Response
from rest_framework.routers import APIRootView

from netbox.api.viewsets import NetBoxModelViewSet
Expand Down Expand Up @@ -47,12 +45,6 @@ class ViewViewSet(NetBoxModelViewSet):
serializer_class = ViewSerializer
filterset_class = ViewFilterSet

@action(detail=True, methods=["get"])
def views(self, request, pk=None):
views = View.objects.filter(zone=pk)
serializer = ViewSerializer(views, many=True, context={"request": request})
return Response(serializer.data)


class ZoneViewSet(NetBoxModelViewSet):
queryset = Zone.objects.prefetch_related(
Expand All @@ -66,32 +58,12 @@ class ZoneViewSet(NetBoxModelViewSet):
serializer_class = ZoneSerializer
filterset_class = ZoneFilterSet

@action(detail=True, methods=["get"])
def records(self, request, pk=None):
records = Record.objects.filter(zone=pk)
serializer = RecordSerializer(records, many=True, context={"request": request})
return Response(serializer.data)

@action(detail=True, methods=["get"])
def nameservers(self, request, pk=None):
nameservers = NameServer.objects.filter(zones__id=pk)
serializer = NameServerSerializer(
nameservers, many=True, context={"request": request}
)
return Response(serializer.data)


class NameServerViewSet(NetBoxModelViewSet):
queryset = NameServer.objects.prefetch_related("zones", "tenant")
serializer_class = NameServerSerializer
filterset_class = NameServerFilterSet

@action(detail=True, methods=["get"])
def zones(self, request, pk=None):
zones = Zone.objects.filter(nameservers__id=pk)
serializer = ZoneSerializer(zones, many=True, context={"request": request})
return Response(serializer.data)


class RecordViewSet(NetBoxModelViewSet):
queryset = Record.objects.all().prefetch_related("zone", "zone__view", "tenant")
Expand Down
7 changes: 4 additions & 3 deletions netbox_dns/tests/zone/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,11 @@ class ZoneAPITestCase(
@classmethod
def setUpTestData(cls):
nameservers = (
NameServer.objects.create(name="ns1.example.com"),
NameServer.objects.create(name="ns2.example.com"),
NameServer.objects.create(name="ns3.example.com"),
NameServer(name="ns1.example.com"),
NameServer(name="ns2.example.com"),
NameServer(name="ns3.example.com"),
)
NameServer.objects.bulk_create(nameservers)

zone_data = {
**Zone.get_defaults(),
Expand Down

0 comments on commit 39ab3a2

Please sign in to comment.