from pydantic import BaseModel, EmailStr from typing import Optional from uuid import UUID from app.models.user import UserRole, UserStatus class LoginRequest(BaseModel): email: EmailStr password: str class TokenResponse(BaseModel): access_token: str refresh_token: str token_type: str = "bearer" class RefreshRequest(BaseModel): refresh_token: str class UserResponse(BaseModel): id: UUID email: str name: str role: UserRole status: UserStatus is_active: bool class Config: from_attributes = True class LoginResponse(BaseModel): access_token: str refresh_token: str token_type: str = "bearer" user: UserResponse class CreateUserRequest(BaseModel): email: EmailStr password: str name: str role: UserRole = UserRole.AGENT