from pydantic import BaseModel from typing import Optional from datetime import datetime class UserBase(BaseModel): telegram_id: str username: Optional[str] = None first_name: Optional[str] = None last_name: Optional[str] = None email: Optional[str] = None avatar_url: Optional[str] = None is_active: Optional[bool] = True is_verified: Optional[bool] = False class UserCreate(UserBase): pass class UserUpdate(BaseModel): username: Optional[str] = None first_name: Optional[str] = None last_name: Optional[str] = None email: Optional[str] = None avatar_url: Optional[str] = None class UserInDB(UserBase): id: int created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True class UserPublic(BaseModel): id: int telegram_id: str username: Optional[str] = None first_name: Optional[str] = None last_name: Optional[str] = None avatar_url: Optional[str] = None is_verified: bool class Config: from_attributes = True