From 4aa64a6daa4a0eb1f9f14cb12aa21d5a9aa25457 Mon Sep 17 00:00:00 2001 From: Sny Date: Tue, 13 Apr 2021 14:49:17 +0530 Subject: [PATCH] V1 Mapping | delete api --- core/v1_importers/urls.py | 1 + core/v1_importers/views.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/core/v1_importers/urls.py b/core/v1_importers/urls.py index 1faf77140..92b0e763c 100644 --- a/core/v1_importers/urls.py +++ b/core/v1_importers/urls.py @@ -28,4 +28,5 @@ ), path('tokens/', views.UserTokensImporterView.as_view(), name='v1-tokens-import'), path('concept/', views.ConceptView.as_view(), name='v1-concept'), + path('mapping/', views.MappingView.as_view(), name='v1-mapping'), ] diff --git a/core/v1_importers/views.py b/core/v1_importers/views.py index cfd3b6b68..b241a39b5 100644 --- a/core/v1_importers/views.py +++ b/core/v1_importers/views.py @@ -136,3 +136,16 @@ def delete(self, _): concept.delete() return Response(status=status.HTTP_204_NO_CONTENT) + + +class MappingView(APIView): + def delete(self, _): + uris = self.request.data.get('uris', []) + if not isinstance(uris, list): + return Response(status=status.HTTP_400_BAD_REQUEST) + + from core.mappings.models import Mapping + for concept in Mapping.objects.filter(uri__in=uris): + concept.delete() + + return Response(status=status.HTTP_204_NO_CONTENT)