""" AI Box Sophon Adapter — ORM 模型 SQLModel 定义设备心跳记录表。 """ from datetime import datetime from typing import Optional from sqlmodel import Field, SQLModel class BoardHeartbeat(SQLModel, table=True): """设备心跳记录表""" __tablename__ = "board_heartbeat" id: Optional[int] = Field(default=None, primary_key=True) board_id: str = Field(index=True, unique=True, description="设备唯一标识 (BoardId)") board_ip: str = Field(default="", description="设备 IP") board_platform: str = Field(default="", description="硬件类型") board_temp: str = Field(default="", description="芯片温度") board_type: str = Field(default="", description="接入方式 WAN/4G") status: str = Field(default="未知", description="设备状态") version: str = Field(default="", description="软件版本") system_info: str = Field(default="", description="系统版本信息") grant_code: int = Field(default=0, description="授权码") grant_desc: str = Field(default="", description="授权描述") last_ping_time: datetime = Field(default_factory=datetime.now, description="最后心跳时间") ping_data: str = Field(default="{}", description="完整心跳数据 JSON") is_online: bool = Field(default=True, description="是否在线") created_at: datetime = Field(default_factory=datetime.now, description="首次上报时间") updated_at: datetime = Field(default_factory=datetime.now, description="最后更新时间")