add: store pranks
This commit is contained in:
55
app/api/pranks.py
Normal file
55
app/api/pranks.py
Normal file
@ -0,0 +1,55 @@
|
||||
from fastapi import APIRouter, HTTPException
|
||||
from app.services.server.prank import PrankService
|
||||
from app.models.server.prank import PrankCommandCreate, PrankCommandUpdate, PrankExecute
|
||||
|
||||
router = APIRouter(
|
||||
prefix="/api/pranks",
|
||||
tags=["Pranks"]
|
||||
)
|
||||
|
||||
prank_service = PrankService()
|
||||
|
||||
@router.get("/commands")
|
||||
async def get_all_prank_commands():
|
||||
"""Получение всех доступных команд-пакостей"""
|
||||
return await prank_service.get_all_prank_commands()
|
||||
|
||||
@router.get("/commands/{command_id}")
|
||||
async def get_prank_command(command_id: str):
|
||||
"""Получение команды-пакости по ID"""
|
||||
return await prank_service.get_prank_command(command_id)
|
||||
|
||||
@router.post("/commands")
|
||||
async def add_prank_command(command: PrankCommandCreate):
|
||||
"""Добавление новой команды-пакости"""
|
||||
return await prank_service.add_prank_command(command)
|
||||
|
||||
@router.put("/commands/{command_id}")
|
||||
async def update_prank_command(command_id: str, update_data: PrankCommandUpdate):
|
||||
"""Обновление команды-пакости"""
|
||||
return await prank_service.update_prank_command(command_id, update_data)
|
||||
|
||||
@router.delete("/commands/{command_id}")
|
||||
async def delete_prank_command(command_id: str):
|
||||
"""Удаление команды-пакости"""
|
||||
return await prank_service.delete_prank_command(command_id)
|
||||
|
||||
@router.get("/servers")
|
||||
async def get_all_servers():
|
||||
"""Получение списка всех доступных серверов"""
|
||||
return await prank_service.get_all_servers()
|
||||
|
||||
@router.get("/servers/{server_id}/players")
|
||||
async def get_server_online_players(server_id: str):
|
||||
"""Получение списка онлайн игроков на сервере"""
|
||||
return await prank_service.get_server_online_players(server_id)
|
||||
|
||||
@router.post("/execute")
|
||||
async def execute_prank(username: str, prank_data: PrankExecute):
|
||||
"""Выполнение пакости (списание монет и выполнение команды)"""
|
||||
return await prank_service.execute_prank(
|
||||
username,
|
||||
prank_data.command_id,
|
||||
prank_data.target_player,
|
||||
prank_data.server_id
|
||||
)
|
Reference in New Issue
Block a user