better partial config update

This commit is contained in:
Simon
2025-02-14 16:31:12 +07:00
parent f36490f491
commit 46c974c078
6 changed files with 10 additions and 17 deletions

View File

@@ -64,7 +64,7 @@ class AppConfigAppSerializer(
enable_snapshot = serializers.BooleanField()
class AppConfigSerializer(serializers.Serializer):
class AppConfigSerializer(ValidateUnknownFieldsMixin, serializers.Serializer):
"""serialize appconfig"""
subscriptions = AppConfigSubSerializer(required=False)

View File

@@ -177,8 +177,8 @@ class AppConfigApiView(ApiBaseView):
},
)
def post(request):
"""update config values, partial"""
serializer = AppConfigSerializer(data=request.data)
"""update config values, allows partial update"""
serializer = AppConfigSerializer(data=request.data, partial=True)
serializer.is_valid(raise_exception=True)
validated_data = serializer.validated_data
updated_config = AppConfig().update_config(validated_data)

View File

@@ -48,13 +48,6 @@ class UserMeConfigSerializer(serializers.Serializer):
show_subed_only = serializers.BooleanField()
show_help_text = serializers.BooleanField()
def __init__(self, *args, required=True, **kwargs):
super().__init__(*args, **kwargs)
# Override 'required' for all fields if provided
for field in self.fields.values():
field.required = required
class LoginSerializer(serializers.Serializer):
"""serialize login"""

View File

@@ -61,7 +61,7 @@ class UserConfigView(ApiBaseView):
"""update config, allows partial update"""
data_serializer = UserMeConfigSerializer(
data=request.data, required=False
data=request.data, partial=True
)
data_serializer.is_valid(raise_exception=True)
validated_data = data_serializer.validated_data