from pydantic import BaseModel from typing import Optional from datetime import datetime class LoginRequest(BaseModel): username: str password: str class Token(BaseModel): access_token: str token_type: str = "bearer" username: str role: str class UserCreate(BaseModel): username: str full_name: Optional[str] = None password: str role: str = "operator" class UserUpdate(BaseModel): full_name: Optional[str] = None role: Optional[str] = None is_active: Optional[bool] = None password: Optional[str] = None class UserOut(BaseModel): id: int username: str full_name: Optional[str] role: str is_active: bool created_at: datetime class Config: from_attributes = True