Files
auto-virtual-tryon/app/api/routers/orders.py
2026-03-27 00:10:28 +08:00

33 lines
1023 B
Python

"""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)