from datetime import datetime from typing import Optional from pydantic import BaseModel, EmailStr class UserRead(BaseModel): id: int username: str email: Optional[str] = None full_name: Optional[str] = None role: str is_active: bool created_at: datetime model_config = {"from_attributes": True} class UserCreate(BaseModel): username: str password: str email: Optional[str] = None full_name: Optional[str] = None role: str = "operator" class UserUpdate(BaseModel): email: Optional[str] = None full_name: Optional[str] = None role: Optional[str] = None is_active: Optional[bool] = None password: Optional[str] = None