30 lines
886 B
Python
30 lines
886 B
Python
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,
|
|
)
|