Newer
Older
safe-algo-pro / entity / device.py
zhangyingjie on 12 Oct 697 bytes first commit
from typing import Optional
from sqlmodel import SQLModel, Field

from entity.base import TimestampMixin


class DeviceBase(SQLModel):
    name: str
    code: str
    type: Optional[str] = None
    ip: str
    input_stream_url: Optional[str] = None
    output_stream_url: Optional[str] = None
    image_save_interval: Optional[int] = None


class Device(DeviceBase, TimestampMixin, table=True):
    id: Optional[int] = Field(default=None, primary_key=True)


class DeviceCreate(DeviceBase):
    pass


class DeviceUpdate(DeviceBase):
    id: int
    name: Optional[str] = None
    code: Optional[str] = None
    ip: Optional[str] = None


class DeviceInfo(DeviceBase, TimestampMixin):
    id: int