Model / settings for allow-listing

This commit is contained in:
Eliot Berriot 2019-06-17 08:48:05 +02:00
parent 1a52dfcc1d
commit 2b2b64f0a7
8 changed files with 90 additions and 1 deletions

View file

@ -339,6 +339,7 @@ class ManageDomainViewSet(
mixins.CreateModelMixin,
mixins.ListModelMixin,
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
viewsets.GenericViewSet,
):
lookup_value_regex = r"[a-zA-Z0-9\-\.]+"
@ -361,6 +362,13 @@ class ManageDomainViewSet(
"instance_policy",
]
def get_serializer_class(self):
if self.action in ["update", "partial_update"]:
# A dedicated serializer for update
# to ensure domain name can't be changed
return serializers.ManageDomainUpdateSerializer
return super().get_serializer_class()
def perform_create(self, serializer):
domain = serializer.save()
federation_tasks.update_domain_nodeinfo(domain_name=domain.name)