from fastapi import APIRouter, Request, Response from app.deps import SessionDep, ensure_web_session, web_owner from app.schemas import OrderCreate, OrderOut from app.services import checkout, get_order router = APIRouter() @router.post("/orders", response_model=OrderOut) async def create_order(body: OrderCreate, request: Request, response: Response, db: SessionDep) -> OrderOut: session_id = await ensure_web_session(request, response, db) return await checkout( db, owner_key=web_owner(session_id), customer_name=body.customer_name, customer_phone=body.customer_phone, ) @router.get("/orders/{order_id}", response_model=OrderOut) async def read_order(order_id: int, request: Request, response: Response, db: SessionDep) -> OrderOut: session_id = await ensure_web_session(request, response, db) return await get_order(db, owner_key=web_owner(session_id), order_id=order_id)