diff options
Diffstat (limited to 'pydis_site/apps/api/viewsets/bot')
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/off_topic_channel_name.py | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/pydis_site/apps/api/viewsets/bot/off_topic_channel_name.py b/pydis_site/apps/api/viewsets/bot/off_topic_channel_name.py index 0caf8088..18ee84ea 100644 --- a/pydis_site/apps/api/viewsets/bot/off_topic_channel_name.py +++ b/pydis_site/apps/api/viewsets/bot/off_topic_channel_name.py @@ -1,11 +1,9 @@ -import json -  from django.db.models import Case, Value, When  from django.db.models.query import QuerySet  from django.shortcuts import get_object_or_404  from rest_framework.exceptions import ParseError -from rest_framework.response import Response  from rest_framework.request import Request +from rest_framework.response import Response  from rest_framework.status import HTTP_201_CREATED  from rest_framework.viewsets import ModelViewSet @@ -70,9 +68,9 @@ class OffTopicChannelNameViewSet(ModelViewSet):          name = self.kwargs[self.lookup_field]          return get_object_or_404(queryset, name=name) -    def get_queryset(self, active=True) -> QuerySet: +    def get_queryset(self, **kwargs) -> QuerySet:          """Returns a queryset that covers the entire OffTopicChannelName table.""" -        return OffTopicChannelName.objects.filter(active=True) +        return OffTopicChannelName.objects.filter(**kwargs)      def create(self, request: Request, *args, **kwargs) -> Response:          """ @@ -134,6 +132,11 @@ class OffTopicChannelNameViewSet(ModelViewSet):              serialized = self.serializer_class(queryset, many=True)              return Response(serialized.data) -        queryset = self.get_queryset(active=bool(request.query_params.get("active", True))) +        params = {} + +        if active_param := request.query_params.get("active"): +            params["active"] = active_param.lower() == "true" + +        queryset = self.get_queryset(**params)          serialized = self.serializer_class(queryset, many=True)          return Response(serialized.data) | 
