Files
ignis-core/app/models/event_log.py
2026-03-28 23:06:40 +07:00

27 lines
1.0 KiB
Python

from datetime import datetime
from sqlalchemy import String, Integer, DateTime, JSON
from sqlalchemy.orm import Mapped, mapped_column
from app.core.database import Base
class EventLog(Base):
"""Лог событий управления лампами."""
__tablename__ = "event_log"
id: Mapped[int] = mapped_column(Integer, primary_key=True, autoincrement=True)
timestamp: Mapped[str] = mapped_column(
String, default=lambda: datetime.now().isoformat()
)
key_name: Mapped[str] = mapped_column(
String, default="unknown"
) # кто: "master", "vasya", ...
action: Mapped[str] = mapped_column(
String
) # "control", "toggle_on", "toggle_off", "scene", ...
target_type: Mapped[str] = mapped_column(
String, default="group"
) # "group" или "device"
target_id: Mapped[str] = mapped_column(String) # id группы или устройства
params: Mapped[str] = mapped_column(String, nullable=True) # JSON строка параметров