"""设备相关 Schema""" from pydantic import BaseModel from typing import Optional from datetime import datetime class ONUDeviceBase(BaseModel): mac_address: str olt_id: Optional[int] = None region: Optional[str] = None school_name: Optional[str] = None building: Optional[str] = None place_type: Optional[str] = None # 场所类型 room_number: Optional[str] = None notes: Optional[str] = None # 备注 class ONUDeviceResponse(ONUDeviceBase): id: int status: Optional[str] = None distance_m: Optional[int] = None slot_number: Optional[int] = None port_number: Optional[int] = None port_id: Optional[str] = None # 完整端口标识,如 "1/0/2:4" model: Optional[str] = None olt_location: Optional[str] = None # OLT 安装位置 created_at: datetime class Config: from_attributes = True class DeviceListResponse(BaseModel): total: int items: list[ONUDeviceResponse]