""" VPN-related schemas """ from pydantic import BaseModel from datetime import datetime from typing import Optional, Dict, List class VPNConfigResponse(BaseModel): protocol: str server_address: str port: int encryption: str certificate: Optional[str] = None private_key: Optional[str] = None shared_secret: Optional[str] = None additional_params: Dict[str, str] = {} class Config: orm_mode = True class VPNSessionResponse(BaseModel): session_id: str start_time: datetime last_active: datetime protocol: str client_ip: str bytes_sent: int bytes_received: int status: str class Config: orm_mode = True class VPNServerStats(BaseModel): total_data_transferred: int active_sessions: int total_session_time: int last_connection: Optional[datetime] bandwidth_usage: Dict[str, float] class Config: orm_mode = True