From 0cce315539ba9890d2ac3b13c5639f7604f5550e Mon Sep 17 00:00:00 2001 From: stvn Date: Wed, 7 Apr 2021 10:08:56 -0700 Subject: [PATCH] refactor: Base discussions serializer off of ModelSerializer to make Django operations easier. --- openedx/core/djangoapps/discussions/views.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/openedx/core/djangoapps/discussions/views.py b/openedx/core/djangoapps/discussions/views.py index db731327a3..38a1ff962a 100644 --- a/openedx/core/djangoapps/discussions/views.py +++ b/openedx/core/djangoapps/discussions/views.py @@ -33,10 +33,17 @@ class DiscussionsConfigurationView(APIView): """ permission_classes = (IsStaff,) - class Serializer(serializers.BaseSerializer): + class Serializer(serializers.ModelSerializer): """ Serialize configuration responses """ + class Meta: + model = DiscussionsConfiguration + fields = [ + 'context_key', + 'enabled', + 'provider_type', + ] def to_internal_value(self, data): """ @@ -48,9 +55,8 @@ class DiscussionsConfigurationView(APIView): """ Serialize data into a dictionary, to be used as a response """ - payload = { - 'context_key': str(instance.context_key), - 'enabled': instance.enabled, + payload = super().to_representation(instance) + payload.update({ 'features': { 'discussion-page', 'embedded-course-sections', @@ -67,7 +73,7 @@ class DiscussionsConfigurationView(APIView): for provider in instance.available_providers }, }, - } + }) return payload def update(self, instance, validated_data):