add: add new apig

This commit is contained in:
behruz-dev
2025-08-29 12:14:52 +05:00
parent 20da4e3ed7
commit bcf85e090e
2 changed files with 23 additions and 5 deletions

View File

@@ -34,6 +34,7 @@ urlpatterns = [
path('create/', stock_movemend_views.StockMovemendCreateApiView.as_view()), path('create/', stock_movemend_views.StockMovemendCreateApiView.as_view()),
path('list/', stock_movemend_views.StockMovemendListApiView.as_view()), path('list/', stock_movemend_views.StockMovemendListApiView.as_view()),
path('<uuid:id>/delete/', stock_movemend_views.StockMovemendDeleteApiView.as_view()), path('<uuid:id>/delete/', stock_movemend_views.StockMovemendDeleteApiView.as_view()),
path('<uuid:stock_movemend_id>/remove/<uuid:stock_movemend_product_id>/', stock_movemend_views.StockMovemendProductRemoveApiView.as_view()),
] ]
)) )),
] ]

View File

@@ -78,8 +78,25 @@ class StockMovemendDeleteApiView(generics.GenericAPIView):
) )
class StockMovemendProductRemoveApiView(generics.GenericAPIView):
permission_classes = [HasRolePermission]
required_permissions = []
queryset = StockMovmendProduct.objects.all()
serializer_class = None
def delete(self, request, stock_movemend_id, stock_movemend_product_id):
stock_movemend = get_object_or_404(StockMovemend, id=stock_movemend_id)
stock_movemend_product = stock_movemend.movmend_products.filter(id=stock_movemend_product_id).first()
if not stock_movemend_product:
return Response(
{
'success': False,
'message': 'Product Does not belong to the stock_movemend',
},
status=404
)
stock_movemend.movmend_products.remove(stock_movemend_product)
return Response(
{'success': True, 'message': 'removed'},
status=200
)