add appsettings serializers and docs

This commit is contained in:
Simon
2025-02-09 22:10:29 +07:00
parent df5a5cf449
commit 6723d6152f
6 changed files with 507 additions and 177 deletions

View File

@@ -2,11 +2,13 @@
# pylint: disable=abstract-method
from common.serializers import PaginationSerializer
from common.serializers import PaginationSerializer, ValidateUnknownFieldsMixin
from rest_framework import serializers
class ChannelOverwriteSerializer(serializers.Serializer):
class ChannelOverwriteSerializer(
ValidateUnknownFieldsMixin, serializers.Serializer
):
"""serialize channel overwrites"""
download_format = serializers.CharField(required=False, allow_null=True)
@@ -25,20 +27,6 @@ class ChannelOverwriteSerializer(serializers.Serializer):
required=False, allow_null=True
)
def to_internal_value(self, data):
"""Override this method to detect unknown fields."""
allowed_fields = set(self.fields.keys())
input_fields = set(data.keys())
unknown_fields = input_fields - allowed_fields
if unknown_fields:
raise serializers.ValidationError(
{"error": f"Unknown fields: {', '.join(unknown_fields)}"}
)
return super().to_internal_value(data)
class ChannelSerializer(serializers.Serializer):
"""serialize channel"""