mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
29 lines
944 B
Python
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)
|