Started creating http api for netbrite

This commit is contained in:
Jurn Wubben 2025-08-26 11:27:45 +02:00
parent fd19c95479
commit aca30088b0
5 changed files with 205 additions and 6 deletions

65
db.py Normal file
View file

@ -0,0 +1,65 @@
from sqlmodel import Field, Session, SQLModel, create_engine, select
from netbrite import Colors, Fonts, Message, Priorities, ScrollSpeeds
class BaseZone(SQLModel, table=True, echo=True):
id: int | None = Field(default=None, primary_key=True)
x: int
y: int
width: int
height: int
scroll_speed: ScrollSpeeds
pause_duration: int
volume: int
default_font: Fonts
default_color: Colors
default_message: int | None = Field(foreign_key="apimessages.id")
netbrite_device_id: int = Field(foreign_key="apinetbritedevice.id")
class APIGetZone(SQLModel, table=True, echo=True):
id: int | None = Field(default=None, primary_key=True)
x: int
y: int
width: int
height: int
scroll_speed: ScrollSpeeds
pause_duration: int
volume: int
default_font: Fonts
default_color: Colors
default_message: Message | None
class APIMessages(SQLModel, table=True, echo=True):
id: int | None = Field(default=None, primary_key=True)
activation_delay: int
display_delay: int
display_repeat: int
priority: Priorities
text: str
ttl: int
class BaseNetBriteDevice(SQLModel, table=True, echo=True):
id: int | None = Field(default=None, primary_key=True)
address: str = Field(unique=True)
port: int = 700
class APIAddNetBriteDevice(SQLModel, table=False):
address: str
port: int = 700
class APIGetNetBriteDevice(SQLModel, table=False):
address: str
port: int = 700
connected: bool
zones: dict[str, APIGetZone]