from sqlalchemy import Column, String, Text, Boolean, Integer, Float, DateTime
from .base import BaseModel

class Device(BaseModel):
    __tablename__ = "devices"
    
    name = Column(String(100), nullable=False, comment="设备名称")
    device_type = Column(String(50), nullable=False, comment="设备类型: camera, sensor, etc")
    location = Column(String(200), comment="设备位置")
    ip_address = Column(String(50), comment="IP地址")
    port = Column(Integer, comment="端口号")
    username = Column(String(50), comment="用户名")
    password = Column(String(100), comment="密码")
    rtsp_url = Column(String(500), comment="RTSP流地址")
    status = Column(String(20), default="offline", comment="设备状态: online, offline, error")
    resolution = Column(String(20), comment="分辨率，如: 1920x1080")
    fps = Column(Integer, comment="帧率")
    algorithm_id = Column(Integer, comment="关联的算法ID")
    is_enabled = Column(Boolean, default=True, comment="是否启用")
    last_heartbeat = Column(DateTime, comment="最后心跳时间")
    latitude = Column(Float, comment="纬度")
    longitude = Column(Float, comment="经度")
    description = Column(Text, comment="设备描述")
    manufacturer = Column(String(100), comment="制造商")
    model = Column(String(100), comment="设备型号")
    serial_number = Column(String(100), comment="序列号") 