23 lines
647 B
Python
23 lines
647 B
Python
from pydantic import BaseModel, Field
|
|
from typing import Optional, Dict, Any, List
|
|
|
|
class RegisterRequest(BaseModel):
|
|
username: str = Field(..., min_length=3, max_length=32)
|
|
password: str = Field(..., min_length=4, max_length=128)
|
|
# Honeypot field: real users leave this empty. Bots populate it.
|
|
website_hp: Optional[str] = None
|
|
|
|
class LoginRequest(BaseModel):
|
|
username: str
|
|
password: str
|
|
|
|
class AuthResponse(BaseModel):
|
|
token: str
|
|
username: str
|
|
|
|
class SyncTickRequest(BaseModel):
|
|
actions: List[Dict[str, Any]] = []
|
|
seq: Optional[int] = None
|
|
|
|
class SaveGameRequest(BaseModel):
|
|
save_data: Dict[str, Any]
|