from pydantic import BaseModel from datetime import datetime class UserOut(BaseModel): user_id: int username: str display_name: str email: str | None = None phone: str | None = None avatar: str | None = None status: int created_at: datetime class Config: from_attributes = True class UserMe(UserOut): roles: list[str] = [] class UserCreate(BaseModel): username: str display_name: str email: str | None = None phone: str | None = None password: str | None = None status: int = 1 role_ids: list[int] = [] class UserUpdate(BaseModel): display_name: str | None = None email: str | None = None phone: str | None = None status: int | None = None role_ids: list[int] | None = None class PasswordChange(BaseModel): old_password: str new_password: str