from fastapi import APIRouter, HTTPException, status, Depends from app.services.order_service import OrderService from app.models.orders import Order, OrderStatus from typing import List router = APIRouter() @router.post("/", response_model=Order, status_code=status.HTTP_201_CREATED) async def create_order(order: Order, service: OrderService = Depends(OrderService)): return await service.create_order(order) @router.get("/{order_id}", response_model=Order) async def get_order(order_id: int, service: OrderService = Depends(OrderService)): return await service.get_order(order_id) @router.put("/{order_id}/status", response_model=Order) async def update_order_status( order_id: int, status: OrderStatus, service: OrderService = Depends(OrderService) ): return await service.update_status(order_id, status) @router.get("/status/{status}", response_model=List[Order]) async def get_orders_by_status( status: OrderStatus, service: OrderService = Depends(OrderService) ): return await service.get_orders_by_status(status) @router.get("/daily/{date}", response_model=List[Order]) async def get_daily_orders( date: str, service: OrderService = Depends(OrderService) ): return await service.get_daily_orders(date)