From 479d8b8faad004b9e1b19d43a1f41e398efe19bb Mon Sep 17 00:00:00 2001 From: behruz Date: Wed, 10 Dec 2025 14:16:55 +0500 Subject: [PATCH] orders: yangi api qoshildi --- core/apps/orders/urls.py | 1 + core/apps/orders/views/order.py | 31 +++++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/core/apps/orders/urls.py b/core/apps/orders/urls.py index 09c5b4f..8bb5eaa 100644 --- a/core/apps/orders/urls.py +++ b/core/apps/orders/urls.py @@ -19,6 +19,7 @@ urlpatterns = [ path('list/', order_view.OrderListApiView.as_view(), name='order-list-api'), path('create/', order_view.OrderCreateApiView.as_view(), name='order-create-api'), path('/update/', order_view.OrderUpdateApiView.as_view(), name='order-update-api'), + path('/send_pdf/', order_view.SendFileToTelegramApiView.as_view(), name='order-send-pdf-api'), ] )), diff --git a/core/apps/orders/views/order.py b/core/apps/orders/views/order.py index 0442c63..3d9c661 100644 --- a/core/apps/orders/views/order.py +++ b/core/apps/orders/views/order.py @@ -2,7 +2,7 @@ from django.shortcuts import get_object_or_404 # rest framework -from rest_framework import generics, permissions +from rest_framework import generics, permissions, views # drf yasg from drf_yasg.utils import swagger_auto_schema @@ -14,6 +14,9 @@ from core.apps.orders.serializers.order import OrderCreateSerializer, OrderListS from core.apps.shared.utils.response_mixin import ResponseMixin from core.apps.shared.serializers.base import BaseResponseSerializer, SuccessResponseSerializer +# services +from core.services.send_telegram_msg import send_to_telegram + class OrderCreateApiView(generics.GenericAPIView, ResponseMixin): serializer_class = OrderCreateSerializer @@ -93,4 +96,28 @@ class OrderUpdateApiView(generics.GenericAPIView, ResponseMixin): ) except Exception as e: - return self.error_response(data=str(e), message='xatolik') \ No newline at end of file + return self.error_response(data=str(e), message='xatolik') + + + +class SendFileToTelegramApiView(views.APIView, ResponseMixin): + permission_classes = [permissions.IsAuthenticated] + + def get(self, request, id): + try: + order = Order.objects.filter(id=id).first() + if not order: + return self.failure_response( + data={}, + message="Order not found" + ) + send_to_telegram(request.user.telegram_id, order.id) + return self.success_response( + data={}, + message='Succefully send!' + ) + except Exception as e: + return self.error_response( + data=str(e), + message="xatolik, backend dasturchiga murojaat qiling" + )