order apis done

This commit is contained in:
behruz-dev
2025-08-19 10:13:20 +05:00
parent 36b48dfb3e
commit 9f4f6e1b0c
3 changed files with 38 additions and 1 deletions

View File

@@ -46,4 +46,4 @@ CACHEOPS = {
}
CACHEOPS_DEGRADE_ON_FAILURE = True
CACHEOPS_ENABLED = True
CACHEOPS_ENABLED = False

View File

@@ -10,6 +10,9 @@ urlpatterns = [
path('create/', order_views.OrderCreateApiView.as_view()),
path('<uuid:id>/update/', order_views.OrderUpdateApiView.as_view()),
path('<uuid:id>/delete/', order_views.OrderDeleteApiView.as_view()),
path('<uuid:order_id>/cancel/', order_views.OrderChangeStatusCancelledApiView.as_view()),
path("<uuid:order_id>/accept/", order_views.OrderChangeStatusAcceptedApiView.as_view()),
path("accepted/list/", order_views.OrderAcceptApiView.as_view()),
]
)),
]

View File

@@ -58,3 +58,37 @@ class OrderDeleteApiView(views.APIView):
return Response({"success": True, "message": "Deleted!"}, status=204)
class OrderChangeStatusCancelledApiView(views.APIView):
permission_classes = [HasRolePermission]
required_permissions = ['order']
def get(self, request, order_id):
order = get_object_or_404(Order, id=order_id)
order.status = 'CANCELLED'
order.save()
return Response(
{'success': True, 'message': 'order cancelled'},
status=200
)
class OrderChangeStatusAcceptedApiView(views.APIView):
permission_classes = [HasRolePermission]
required_permissions = ['order']
def get(self, request, order_id):
order = get_object_or_404(Order, id=order_id)
order.status = 'ACCEPTED'
order.save()
return Response(
{'success': True, 'message': 'order accepted'},
status=200
)
class OrderAcceptApiView(generics.ListAPIView):
serializer_class = serializers.OrderListSerializer
queryset = Order.objects.filter(status='ACCEPTED')
permission_classes = [HasRolePermission]
required_permissions = ['order']
pagination_class = CustomPageNumberPagination