from pydantic import BaseModel, ConfigDict from typing import Optional from datetime import datetime class UserBase(BaseModel): username: str email: str avatar: Optional[str] = None is_active: Optional[bool] = True is_admin: Optional[bool] = False class UserCreate(UserBase): password: str class UserUpdate(BaseModel): username: Optional[str] = None email: Optional[str] = None avatar: Optional[str] = None is_active: Optional[bool] = None is_admin: Optional[bool] = None password: Optional[str] = None class ResendVerificationRequest(BaseModel): username: str class UserResponse(UserBase): id: int created_at: datetime model_config = ConfigDict(from_attributes=True)