Update serializer for plugin settings API

- Use string key rather than pk for plugin
- Allow filtering by 'enabled' status of the plugin
- Allow filtering by the plugin key
This commit is contained in:
Oliver Walters 2022-05-08 17:46:19 +10:00
parent 5cd2c20a11
commit f733e23b65
2 changed files with 12 additions and 1 deletions

View File

@ -12,6 +12,8 @@ from rest_framework import status
from rest_framework import permissions
from rest_framework.response import Response
from django_filters.rest_framework import DjangoFilterBackend
from common.api import GlobalSettingsPermissions
from plugin.models import PluginConfig, PluginSetting
import plugin.serializers as PluginSerializers
@ -98,6 +100,15 @@ class PluginSettingList(generics.ListAPIView):
GlobalSettingsPermissions,
]
filter_backends = [
DjangoFilterBackend,
]
filter_fields = [
'plugin__active',
'plugin__key',
]
class PluginSettingDetail(generics.RetrieveUpdateAPIView):
"""

View File

@ -138,7 +138,7 @@ class PluginSettingSerializer(GenericReferencedSettingSerializer):
'plugin',
]
plugin = serializers.PrimaryKeyRelatedField(read_only=True)
plugin = serializers.CharField(source='plugin.key', read_only=True)
class NotificationUserSettingSerializer(GenericReferencedSettingSerializer):