Files
popa_minecraft_launcher_api/auth/app/models.py

42 lines
1.0 KiB
Python

from pydantic import BaseModel, EmailStr
from typing import Optional
from datetime import datetime
# Для запросов
class UserCreate(BaseModel):
username: str
email: EmailStr
password: str
class UserLogin(BaseModel):
username: str
password: str
# Для MongoDB
class UserInDB(BaseModel):
username: str
email: EmailStr
hashed_password: str
uuid: str
skin_url: Optional[str] = None
skin_model: Optional[str] = "classic" # "classic" или "slim"
cloak_url: Optional[str] = None
is_active: bool = True
created_at: datetime = datetime.utcnow()
class Session(BaseModel):
access_token: str
client_token: str
user_uuid: str
expires_at: datetime
class ValidateRequest(BaseModel):
accessToken: str # camelCase
clientToken: str
class SkinUpdate(BaseModel):
skin_model: Optional[str] = "classic" # "classic" или "slim"
# Удаляем skin_url и skin_file, так как будем принимать файл напрямую
class CapeUpdate(BaseModel):
cape_url: str