feat(events): add EventDeleteView for permanent event deletion
- Add EventDeleteView with DELETE /api/v1/events/<pk>/delete/ - Register delete URL in admin_api/urls.py
This commit is contained in:
@@ -30,6 +30,7 @@ urlpatterns = [
|
|||||||
path('events/<int:pk>/', views.EventDetailView.as_view(), name='event-detail'),
|
path('events/<int:pk>/', views.EventDetailView.as_view(), name='event-detail'),
|
||||||
path('events/<int:pk>/update/', views.EventUpdateView.as_view(), name='event-update'),
|
path('events/<int:pk>/update/', views.EventUpdateView.as_view(), name='event-update'),
|
||||||
path('events/<int:pk>/moderate/', views.EventModerationView.as_view(), name='event-moderate'),
|
path('events/<int:pk>/moderate/', views.EventModerationView.as_view(), name='event-moderate'),
|
||||||
|
path('events/<int:pk>/delete/', views.EventDeleteView.as_view(), name='event-delete'),
|
||||||
path('events/create/', views.EventCreateView.as_view(), name='event-create'),
|
path('events/create/', views.EventCreateView.as_view(), name='event-create'),
|
||||||
path('events/types/', views.EventTypesView.as_view(), name='event-types'),
|
path('events/types/', views.EventTypesView.as_view(), name='event-types'),
|
||||||
path('events/<int:pk>/primary-image/', views.EventPrimaryImageView.as_view(), name='event-primary-image'),
|
path('events/<int:pk>/primary-image/', views.EventPrimaryImageView.as_view(), name='event-primary-image'),
|
||||||
|
|||||||
@@ -861,6 +861,17 @@ class EventModerationView(APIView):
|
|||||||
return Response(_serialize_event(e))
|
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
|
# Phase 6: Financials & Payouts
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user