diff options
| author | 2022-01-27 23:07:35 +0100 | |
|---|---|---|
| committer | 2022-01-27 23:07:35 +0100 | |
| commit | 8b375d5c848d7d0f2bfaea8aa93005cd2c7c343a (patch) | |
| tree | 778e8d6baa150c5ebad4463fffd643ead3147a46 /pydis_site/apps/api/viewsets/bot | |
| parent | Merge pull request #646 from python-discord/update-bot-contrib-guide (diff) | |
| parent | Update metricity tests to test new voice_gate_blocked behaviour (diff) | |
Merge pull request #647 from python-discord/voice-mute-in-metricity-endpoint
Use voice_mute and voice_ban to determine voice_gate
Diffstat (limited to 'pydis_site/apps/api/viewsets/bot')
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/user.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/pydis_site/apps/api/viewsets/bot/user.py b/pydis_site/apps/api/viewsets/bot/user.py index 1a5e79f8..a867a80f 100644 --- a/pydis_site/apps/api/viewsets/bot/user.py +++ b/pydis_site/apps/api/viewsets/bot/user.py @@ -1,7 +1,7 @@ import typing from collections import OrderedDict -from django.core.exceptions import ObjectDoesNotExist +from django.db.models import Q from rest_framework import status from rest_framework.decorators import action from rest_framework.pagination import PageNumberPagination @@ -261,12 +261,10 @@ class UserViewSet(ModelViewSet): """Request handler for metricity_data endpoint.""" user = self.get_object() - try: - Infraction.objects.get(user__id=user.id, active=True, type="voice_ban") - except ObjectDoesNotExist: - voice_banned = False - else: - voice_banned = True + has_voice_infraction = Infraction.objects.filter( + Q(user__id=user.id, active=True), + Q(type="voice_ban") | Q(type="voice_mute") + ).exists() with Metricity() as metricity: try: @@ -275,7 +273,7 @@ class UserViewSet(ModelViewSet): data["total_messages"] = metricity.total_messages(user.id) data["activity_blocks"] = metricity.total_message_blocks(user.id) - data["voice_banned"] = voice_banned + data["voice_gate_blocked"] = has_voice_infraction return Response(data, status=status.HTTP_200_OK) except NotFoundError: return Response(dict(detail="User not found in metricity"), |