33 lines
631 B
Python
33 lines
631 B
Python
"""Pydantic models for API requests and responses."""
|
|
from typing import Optional
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class FactionRequest(BaseModel):
|
|
faction_id: int
|
|
interval: int = 30
|
|
|
|
|
|
class AssignMemberRequest(BaseModel):
|
|
group_id: str # "1", "2", ... "5"
|
|
kind: str # "friendly" or "enemy"
|
|
member_id: int
|
|
|
|
|
|
class RemoveAssignmentRequest(BaseModel):
|
|
member_id: int
|
|
|
|
|
|
class BotControl(BaseModel):
|
|
action: str # "start" or "stop"
|
|
|
|
|
|
class DiscordMappingRequest(BaseModel):
|
|
torn_id: int
|
|
discord_id: int
|
|
|
|
|
|
class ConfigUpdateRequest(BaseModel):
|
|
key: str
|
|
value: Optional[str | int]
|