Files
modoboa/modoboa/dnstools/api/v2/viewsets.py
T
2023-01-27 17:41:32 +01:00

29 lines
944 B
Python

"""App. related viewsets."""
from rest_framework import permissions, response, viewsets
from rest_framework.decorators import action
from modoboa.admin import models as admin_models
from modoboa.lib.throttle import UserDosThrottleViewset
from . import serializers
class DNSViewSet(viewsets.GenericViewSet):
"""A viewset to provide extra routes related to DNS information."""
permission_classes = (permissions.IsAuthenticated, )
throttle_classes = [UserDosThrottleViewset]
def get_queryset(self):
"""Filter queryset based on current user."""
return admin_models.Domain.objects.get_for_admin(self.request.user)
@action(methods=["get"],
detail=True,
serializer_class=serializers.DNSDetailSerializer)
def dns_detail(self, request, **kwargs):
domain = self.get_object()
serializer = self.get_serializer(domain)
return response.Response(serializer.data)