diff options
author | 2021-06-04 21:46:54 +0530 | |
---|---|---|
committer | 2021-06-04 21:46:54 +0530 | |
commit | 87e25f77cbc900024e86d439abd9fde71181800d (patch) | |
tree | 8bcabbf46d4c738f3855d2365e017ff94c443e27 | |
parent | Return a list of ot-names only for GET request only to bot/off-topic-channel-... (diff) |
Query off topic names based on Active attribute.
-rw-r--r-- | pydis_site/apps/api/viewsets/bot/off_topic_channel_name.py | 16 |
1 files changed, 10 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 194e96d2..0caf8088 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,9 +1,11 @@ +import json + from django.db.models import Case, Value, When from django.db.models.query import QuerySet -from django.http.request import HttpRequest 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.status import HTTP_201_CREATED from rest_framework.viewsets import ModelViewSet @@ -68,11 +70,11 @@ class OffTopicChannelNameViewSet(ModelViewSet): name = self.kwargs[self.lookup_field] return get_object_or_404(queryset, name=name) - def get_queryset(self) -> QuerySet: + def get_queryset(self, active=True) -> QuerySet: """Returns a queryset that covers the entire OffTopicChannelName table.""" - return OffTopicChannelName.objects.all() + return OffTopicChannelName.objects.filter(active=True) - def create(self, request: HttpRequest, *args, **kwargs) -> Response: + def create(self, request: Request, *args, **kwargs) -> Response: """ DRF method for creating a new OffTopicChannelName. @@ -90,7 +92,7 @@ class OffTopicChannelNameViewSet(ModelViewSet): 'name': ["This query parameter is required."] }) - def list(self, request: HttpRequest, *args, **kwargs) -> Response: + def list(self, request: Request, *args, **kwargs) -> Response: """ DRF method for listing OffTopicChannelName entries. @@ -132,4 +134,6 @@ class OffTopicChannelNameViewSet(ModelViewSet): serialized = self.serializer_class(queryset, many=True) return Response(serialized.data) - return super().list(self, request) + queryset = self.get_queryset(active=bool(request.query_params.get("active", True))) + serialized = self.serializer_class(queryset, many=True) + return Response(serialized.data) |