from fastapi import APIRouter, Depends from app.services.inventory import InventoryService from app.models.inventory import InventoryWithdrawRequest router = APIRouter(prefix="/inventory", tags=["Inventory"]) def get_inventory_service(): return InventoryService() @router.get("/items") async def list_inventory_items( username: str, server_ip: str, page: int = 1, limit: int = 20, inventory: InventoryService = Depends(get_inventory_service), ): return await inventory.list_items(username=username, server_ip=server_ip, page=page, limit=limit) @router.post("/withdraw") async def withdraw_inventory_item( data: InventoryWithdrawRequest, inventory: InventoryService = Depends(get_inventory_service), ): return await inventory.withdraw_item( username=data.username, item_id=data.item_id, server_ip=data.server_ip, )