From 4a24e9cdcabfb0399b10bbf5872c7f7f75dffbde Mon Sep 17 00:00:00 2001 From: Sicherhaven Date: Fri, 3 Apr 2026 17:21:26 +0530 Subject: [PATCH] feat(events): add EventDeleteView for permanent event deletion - Add EventDeleteView with DELETE /api/v1/events//delete/ - Register delete URL in admin_api/urls.py --- admin_api/urls.py | 1 + admin_api/views.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/admin_api/urls.py b/admin_api/urls.py index 555ac48..301709f 100644 --- a/admin_api/urls.py +++ b/admin_api/urls.py @@ -30,6 +30,7 @@ urlpatterns = [ path('events//', views.EventDetailView.as_view(), name='event-detail'), path('events//update/', views.EventUpdateView.as_view(), name='event-update'), path('events//moderate/', views.EventModerationView.as_view(), name='event-moderate'), + path('events//delete/', views.EventDeleteView.as_view(), name='event-delete'), path('events/create/', views.EventCreateView.as_view(), name='event-create'), path('events/types/', views.EventTypesView.as_view(), name='event-types'), path('events//primary-image/', views.EventPrimaryImageView.as_view(), name='event-primary-image'), diff --git a/admin_api/views.py b/admin_api/views.py index 1a41d01..b97dbe6 100644 --- a/admin_api/views.py +++ b/admin_api/views.py @@ -861,6 +861,17 @@ class EventModerationView(APIView): return Response(_serialize_event(e)) +class EventDeleteView(APIView): + permission_classes = [IsAuthenticated] + + def delete(self, request, pk): + from events.models import Event + from django.shortcuts import get_object_or_404 + e = get_object_or_404(Event, pk=pk) + e.delete() + return Response({'status': 'deleted'}, status=204) + + # --------------------------------------------------------------------------- # Phase 6: Financials & Payouts # ---------------------------------------------------------------------------