from pydantic import BaseModel, Field from typing import Optional, List class PrankCommandCreate(BaseModel): name: str description: str price: int command_template: str server_ids: List[str] = Field( default=[], description='Список серверов, где доступна команда. Использование ["*"] означает доступность на всех серверах' ) targetDescription: Optional[str] = None # Сообщение для целевого игрока globalDescription: Optional[str] = None # Сообщение для всех остальных class PrankCommandUpdate(BaseModel): name: Optional[str] = None description: Optional[str] = None price: Optional[int] = None command_template: Optional[str] = None server_ids: Optional[List[str]] = None targetDescription: Optional[str] = None globalDescription: Optional[str] = None class PrankCommand(BaseModel): id: str name: str description: str price: int command_template: str server_ids: List[str] = [] class PrankExecute(BaseModel): command_id: str target_player: str server_id: str