"""Order routes.""" from fastapi import APIRouter, Depends, status from sqlalchemy.ext.asyncio import AsyncSession from app.api.schemas.order import CreateOrderRequest, CreateOrderResponse, OrderDetailResponse from app.application.services.order_service import OrderService from app.infra.db.session import get_db_session router = APIRouter(prefix="/orders", tags=["orders"]) order_service = OrderService() @router.post("", response_model=CreateOrderResponse, status_code=status.HTTP_201_CREATED) async def create_order( payload: CreateOrderRequest, session: AsyncSession = Depends(get_db_session), ) -> CreateOrderResponse: """Create a new image pipeline order.""" return await order_service.create_order(session, payload) @router.get("/{order_id}", response_model=OrderDetailResponse) async def get_order( order_id: int, session: AsyncSession = Depends(get_db_session), ) -> OrderDetailResponse: """Fetch order details.""" return await order_service.get_order(session, order_id)