add new enpoints to marketplace

This commit is contained in:
2025-12-13 19:46:44 +05:00
parent d16cbd289b
commit 80a9fbe148
2 changed files with 149 additions and 0 deletions

View File

@ -80,3 +80,75 @@ async def update_item_price(
"""Обновить цену предмета на торговой площадке"""
from app.services.marketplace import MarketplaceService
return await MarketplaceService().update_item_price(username, item_id, new_price)
@router.get("/items/by-seller/{username}")
async def get_items_by_seller(
username: str,
server_ip: Optional[str] = None,
page: int = Query(1, ge=1),
limit: int = Query(20, ge=1, le=100)
):
"""Получить все товары, выставленные конкретным игроком"""
from app.services.marketplace import MarketplaceService
return await MarketplaceService().list_items_by_seller(
username=username,
server_ip=server_ip,
page=page,
limit=limit
)
@router.get("/items/me")
async def get_my_items(
username: str = Query(...),
server_ip: Optional[str] = None,
page: int = Query(1, ge=1),
limit: int = Query(20, ge=1, le=100)
):
"""Получить мои лоты на торговой площадке"""
from app.services.marketplace import MarketplaceService
return await MarketplaceService().list_items_by_seller(
username=username,
server_ip=server_ip,
page=page,
limit=limit
)
@router.get("/operations/all")
async def get_all_marketplace_operations(
server_ip: Optional[str] = None,
player_name: Optional[str] = None,
status: Optional[str] = None,
op_type: Optional[str] = None,
page: int = Query(1, ge=1),
limit: int = Query(20, ge=1, le=100),
):
"""Получить все операции маркетплейса (опционально: по игроку/статусу/типу)"""
from app.services.marketplace import MarketplaceService
return await MarketplaceService().list_operations(
server_ip=server_ip,
player_name=player_name,
status=status,
op_type=op_type,
page=page,
limit=limit
)
@router.get("/operations/by-player/{username}")
async def get_operations_by_player(
username: str,
server_ip: Optional[str] = None,
status: Optional[str] = None,
op_type: Optional[str] = None,
page: int = Query(1, ge=1),
limit: int = Query(20, ge=1, le=100),
):
"""Получить операции маркетплейса конкретного игрока"""
from app.services.marketplace import MarketplaceService
return await MarketplaceService().list_operations(
server_ip=server_ip,
player_name=username,
status=status,
op_type=op_type,
page=page,
limit=limit
)