first
This commit is contained in:
47
backend/app/models.py
Normal file
47
backend/app/models.py
Normal file
@@ -0,0 +1,47 @@
|
||||
from datetime import datetime
|
||||
from typing import Optional
|
||||
|
||||
from sqlmodel import Field, SQLModel
|
||||
|
||||
|
||||
class EntityCache(SQLModel, table=True):
|
||||
__tablename__ = "entities_cache"
|
||||
|
||||
entity_id: str = Field(primary_key=True)
|
||||
domain: str = ""
|
||||
friendly_name: str = ""
|
||||
state: str = ""
|
||||
attrs_json: str = "{}"
|
||||
device_class: Optional[str] = None
|
||||
unit_of_measurement: Optional[str] = None
|
||||
area_id: Optional[str] = None
|
||||
device_id: Optional[str] = None
|
||||
integration: Optional[str] = None
|
||||
is_disabled: bool = False
|
||||
is_hidden: bool = False
|
||||
is_available: bool = True
|
||||
last_changed: Optional[datetime] = None
|
||||
last_updated: Optional[datetime] = None
|
||||
fetched_at: datetime = Field(default_factory=datetime.utcnow)
|
||||
|
||||
|
||||
class EntityFlag(SQLModel, table=True):
|
||||
__tablename__ = "entity_flags"
|
||||
|
||||
entity_id: str = Field(primary_key=True)
|
||||
ignored_local: bool = False
|
||||
favorite: bool = False
|
||||
notes: str = ""
|
||||
original_state: Optional[str] = None
|
||||
disabled_at: Optional[datetime] = None
|
||||
|
||||
|
||||
class AuditLog(SQLModel, table=True):
|
||||
__tablename__ = "audit_log"
|
||||
|
||||
id: Optional[int] = Field(default=None, primary_key=True)
|
||||
ts: datetime = Field(default_factory=datetime.utcnow)
|
||||
action: str = ""
|
||||
entity_ids_json: str = "[]"
|
||||
result: str = ""
|
||||
error: str = ""
|
||||
Reference in New Issue
Block a user