""" User-related schemas """ from pydantic import BaseModel, EmailStr from typing import Optional from datetime import datetime class UserBase(BaseModel): username: str email: EmailStr vpn_protocol: str = "outline" class UserCreate(UserBase): password: str class UserUpdate(BaseModel): email: Optional[EmailStr] = None password: Optional[str] = None vpn_protocol: Optional[str] = None class UserResponse(UserBase): id: str role: str is_active: bool created_at: datetime last_login: Optional[datetime] class Config: orm_mode = True class TokenResponse(BaseModel): access_token: str token_type: str