add: add three new apis for delete
This commit is contained in:
@@ -15,6 +15,7 @@ urlpatterns = [
|
|||||||
path("<uuid:order_id>/accept/", order_views.OrderChangeStatusAcceptedApiView.as_view()),
|
path("<uuid:order_id>/accept/", order_views.OrderChangeStatusAcceptedApiView.as_view()),
|
||||||
path("accepted/list/", order_views.OrderAcceptApiView.as_view()),
|
path("accepted/list/", order_views.OrderAcceptApiView.as_view()),
|
||||||
path('<uuid:order_id>/offers/', order_views.OrderOfferListApiView.as_view()),
|
path('<uuid:order_id>/offers/', order_views.OrderOfferListApiView.as_view()),
|
||||||
|
path('bulk-delete/', order_views.DeleteMultipleOrderApiView.as_view()),
|
||||||
]
|
]
|
||||||
)),
|
)),
|
||||||
path('offer/', include(
|
path('offer/', include(
|
||||||
@@ -23,6 +24,7 @@ urlpatterns = [
|
|||||||
path('list/', offer_views.OfferListApiView.as_view()),
|
path('list/', offer_views.OfferListApiView.as_view()),
|
||||||
path('<uuid:id>/delete/', offer_views.OfferDeleteApiView.as_view()),
|
path('<uuid:id>/delete/', offer_views.OfferDeleteApiView.as_view()),
|
||||||
path('<uuid:id>/update/', offer_views.OfferUpdateApiView.as_view()),
|
path('<uuid:id>/update/', offer_views.OfferUpdateApiView.as_view()),
|
||||||
|
path('bulk-delete/', offer_views.DeleteMultipleOfferApiView.as_view()),
|
||||||
]
|
]
|
||||||
)),
|
)),
|
||||||
path('party/', include(
|
path('party/', include(
|
||||||
@@ -39,6 +41,7 @@ urlpatterns = [
|
|||||||
path('<uuid:party_id>/is_made/', party_views.PartyChangeStatusToIsMadeApiView.as_view()),
|
path('<uuid:party_id>/is_made/', party_views.PartyChangeStatusToIsMadeApiView.as_view()),
|
||||||
path('pay/', party_views.PartyPaymentApiView.as_view()),
|
path('pay/', party_views.PartyPaymentApiView.as_view()),
|
||||||
path('statistics/', party_views.PartyStatisticsApiView.as_view()),
|
path('statistics/', party_views.PartyStatisticsApiView.as_view()),
|
||||||
|
path('bulk-delete/', party_views.DeleteMultiplePartyApiView.as_view()),
|
||||||
]
|
]
|
||||||
)),
|
)),
|
||||||
]
|
]
|
||||||
@@ -89,3 +89,15 @@ class OfferDeleteApiView(views.APIView):
|
|||||||
offer = get_object_or_404(Offer, id=id)
|
offer = get_object_or_404(Offer, id=id)
|
||||||
offer.delete()
|
offer.delete()
|
||||||
return Response({'success': True}, status=204)
|
return Response({'success': True}, status=204)
|
||||||
|
|
||||||
|
|
||||||
|
class DeleteMultipleOfferApiView(views.APIView):
|
||||||
|
permission_classes = [HasRolePermission]
|
||||||
|
|
||||||
|
def delete(self, request):
|
||||||
|
ids = request.data.get("offer_ids", [])
|
||||||
|
if not ids:
|
||||||
|
return Response({"detail": "offer_ids kerak"}, status=400)
|
||||||
|
|
||||||
|
deleted_count, _ = Offer.objects.filter(id__in=ids).delete()
|
||||||
|
return Response({"deleted": deleted_count}, status=200)
|
||||||
@@ -100,3 +100,15 @@ class OrderOfferListApiView(generics.GenericAPIView):
|
|||||||
offers = self.get_queryset().select_related("order").filter(order_id=order_id)
|
offers = self.get_queryset().select_related("order").filter(order_id=order_id)
|
||||||
serializer = self.serializer_class(offers, many=True)
|
serializer = self.serializer_class(offers, many=True)
|
||||||
return Response(serializer.data, status=200)
|
return Response(serializer.data, status=200)
|
||||||
|
|
||||||
|
|
||||||
|
class DeleteMultipleOrderApiView(views.APIView):
|
||||||
|
permission_classes = [HasRolePermission]
|
||||||
|
|
||||||
|
def delete(self, request):
|
||||||
|
ids = request.data.get("order_ids", [])
|
||||||
|
if not ids:
|
||||||
|
return Response({"detail": "order_ids kerak"}, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
deleted_count, _ = Order.objects.filter(id__in=ids).delete()
|
||||||
|
return Response({"deleted": deleted_count}, status=status.HTTP_200_OK)
|
||||||
@@ -225,3 +225,15 @@ class PartyStatisticsApiView(generics.GenericAPIView):
|
|||||||
'uzs': uzs
|
'uzs': uzs
|
||||||
}
|
}
|
||||||
return Response(res, status=200)
|
return Response(res, status=200)
|
||||||
|
|
||||||
|
|
||||||
|
class DeleteMultiplePartyApiView(views.APIView):
|
||||||
|
permission_classes = [HasRolePermission]
|
||||||
|
|
||||||
|
def delete(self, request):
|
||||||
|
ids = request.data.get("party_ids", [])
|
||||||
|
if not ids:
|
||||||
|
return Response({"detail": "party_ids kerak"}, status=400)
|
||||||
|
|
||||||
|
deleted_count, _ = Party.objects.filter(id__in=ids).delete()
|
||||||
|
return Response({"deleted": deleted_count}, status=200)
|
||||||
Reference in New Issue
Block a user