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 строка параметров