aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Joe Banks <[email protected]>2024-05-26 05:00:01 +0100
committerGravatar Joe Banks <[email protected]>2024-05-26 05:11:10 +0100
commite6a866845bd2a017b69fedfc1e6aefc0784a7e7b (patch)
treeda463b1c55e3d2efb120b8316afef67d43a86b99
parentAdd method for PATCHing new moderator settings (diff)
Add DELETE handling for moderator settingsjb3/user-props-store
-rw-r--r--pydis_site/apps/api/viewsets/bot/user.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/pydis_site/apps/api/viewsets/bot/user.py b/pydis_site/apps/api/viewsets/bot/user.py
index ba6d25b9..56de4cc7 100644
--- a/pydis_site/apps/api/viewsets/bot/user.py
+++ b/pydis_site/apps/api/viewsets/bot/user.py
@@ -387,6 +387,19 @@ class UserViewSet(ModelViewSet):
return Response(mod_settings.data, status=status.HTTP_200_OK)
+ @mod_settings.mapping.delete
+ def delete_mod_settings(self, request: Request, pk: str) -> Response:
+ """Delete all moderator settings registered for a user."""
+ user = self.get_object()
+ maybe_mod_settings = UserModSettings.objects.filter(moderator=user).first()
+
+ if not maybe_mod_settings:
+ return Response(status=status.HTTP_204_NO_CONTENT)
+
+ maybe_mod_settings.delete()
+
+ return Response(status=status.HTTP_200_OK)
+
@action(detail=True, methods=['POST'], name="Add alternate account",
url_name='alts', url_path='alts')