ProductionGame/backend/models.py

22 lines
617 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]] = []
class SaveGameRequest(BaseModel):
save_data: Dict[str, Any]