diff --git a/core/apps/counterparty/urls.py b/core/apps/counterparty/urls.py index 63a7826..22dd558 100644 --- a/core/apps/counterparty/urls.py +++ b/core/apps/counterparty/urls.py @@ -19,6 +19,7 @@ urlpatterns = [ [ path('list/', folder_views.CounterpartyFolderListApiView.as_view()), path('create/', folder_views.CounterpartyCreateApiView.as_view()), + path('/', folder_views.CounterpartyDeleteApiView.as_view()), ] )) ] \ No newline at end of file diff --git a/core/apps/counterparty/views/counterparty_folder.py b/core/apps/counterparty/views/counterparty_folder.py index e74b6a1..8e0bc7a 100644 --- a/core/apps/counterparty/views/counterparty_folder.py +++ b/core/apps/counterparty/views/counterparty_folder.py @@ -1,4 +1,6 @@ -from rest_framework import generics +from django.shortcuts import get_object_or_404 + +from rest_framework import generics, views from rest_framework.response import Response from core.apps.counterparty.models import CounterpartyFolder @@ -37,3 +39,18 @@ class CounterpartyCreateApiView(generics.GenericAPIView): {'success': False, 'message': serializer.errors}, status=400 ) + + +class CounterpartyDeleteApiView(views.APIView): + permission_classes = [HasRolePermission] + required_permissions = [] + + def delete(self, request, id): + counterparty_folder = get_object_or_404(CounterpartyFolder, id=id) + counterparty_folder.delete() + return Response( + {'success': True, 'message': 'counterparty folder deleted'}, + status=204 + ) + +