Przeglądaj źródła

fix(api): streamline calls to RRsetSerializer.save()

Peter Thomassen 5 lat temu
rodzic
commit
f91c27ce8c
2 zmienionych plików z 11 dodań i 3 usunięć
  1. 8 0
      api/desecapi/serializers.py
  2. 3 3
      api/desecapi/views.py

+ 8 - 0
api/desecapi/serializers.py

@@ -303,6 +303,10 @@ class RRsetSerializer(ConditionalExistenceModelSerializer):
 
         return instance
 
+    def save(self, **kwargs):
+        kwargs.setdefault('domain', self.domain)
+        return super().save(**kwargs)
+
     @staticmethod
     def _set_all_record_contents(rrset: models.RRset, rrs):
         """
@@ -497,6 +501,10 @@ class RRsetListSerializer(serializers.ListSerializer):
 
         return ret
 
+    def save(self, **kwargs):
+        kwargs.setdefault('domain', self.child.domain)
+        return super().save(**kwargs)
+
 
 class DomainSerializer(serializers.ModelSerializer):
 

+ 3 - 3
api/desecapi/views.py

@@ -227,11 +227,11 @@ class RRsetList(EmptyPayloadMixin, DomainViewMixin, generics.ListCreateAPIView,
 
     def perform_create(self, serializer):
         with PDNSChangeTracker():
-            serializer.save(domain=self.domain)
+            serializer.save()
 
     def perform_update(self, serializer):
         with PDNSChangeTracker():
-            serializer.save(domain=self.domain)
+            serializer.save()
 
 
 class Root(APIView):
@@ -375,7 +375,7 @@ class DynDNS12Update(APIView):
             raise e
 
         with PDNSChangeTracker():
-            serializer.save(domain=domain)
+            serializer.save()
 
         return Response('good', content_type='text/plain')