from datetime import datetime from pydantic import BaseModel, EmailStr from app.models.user import UserRole class UserRegister(BaseModel): email: EmailStr password: str display_name: str | None = None class UserLogin(BaseModel): email: EmailStr password: str class UserUpdate(BaseModel): display_name: str | None = None password: str | None = None class UserOut(BaseModel): id: int email: str display_name: str | None role: UserRole is_active: bool created_at: datetime model_config = {"from_attributes": True} class TokenOut(BaseModel): access_token: str refresh_token: str token_type: str = "bearer" class RefreshRequest(BaseModel): refresh_token: str class AdminUserUpdate(BaseModel): role: UserRole | None = None is_active: bool | None = None