Files
ignis-core/app/models/event_log.py
Artem Kokos b6b25fa2a1 BBFbyOpus
2026-04-01 22:51:24 +07:00

25 lines
1009 B
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", "scheduler", ...
action: Mapped[str] = mapped_column(String) # "toggle_on", "toggle_off"
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 строка параметров