Spaces:
Paused
Paused
| from fastapi import APIRouter, Depends, HTTPException | |
| from typing import List | |
| from ..models.orders import Order, OrderDetails, OrderStats | |
| from ..core.auth import get_current_user | |
| from ..services.order_service import OrderService | |
| router = APIRouter(prefix="/api/orders", tags=["orders"]) | |
| async def get_orders( | |
| current_user = Depends(get_current_user), | |
| order_service: OrderService = Depends() | |
| ): | |
| return await order_service.get_orders() | |
| async def create_order( | |
| order: Order, | |
| current_user = Depends(get_current_user), | |
| order_service: OrderService = Depends() | |
| ): | |
| return await order_service.create_order(order) | |
| async def get_order( | |
| order_id: int, | |
| current_user = Depends(get_current_user), | |
| order_service: OrderService = Depends() | |
| ): | |
| order = await order_service.get_order(order_id) | |
| if not order: | |
| raise HTTPException(status_code=404, detail="Order not found") | |
| return order | |
| async def update_order( | |
| order_id: int, | |
| order: Order, | |
| current_user = Depends(get_current_user), | |
| order_service: OrderService = Depends() | |
| ): | |
| updated_order = await order_service.update_order(order_id, order) | |
| if not updated_order: | |
| raise HTTPException(status_code=404, detail="Order not found") | |
| return updated_order | |
| async def delete_order( | |
| order_id: int, | |
| current_user = Depends(get_current_user), | |
| order_service: OrderService = Depends() | |
| ): | |
| success = await order_service.delete_order(order_id) | |
| if not success: | |
| raise HTTPException(status_code=404, detail="Order not found") | |
| return {"message": "Order deleted successfully"} | |
| async def get_order_stats( | |
| current_user = Depends(get_current_user), | |
| order_service: OrderService = Depends() | |
| ): | |
| return await order_service.get_stats() |