v0.1 - макет интерфейса, аутентификация через логин, аккаунт админа, создание партии в 2 этапа, базовые настройки профиля и группы, переключение между группами, статистика

This commit is contained in:
2026-06-16 17:41:06 +03:00
parent 6ab74f01aa
commit 56b5d09a4d
123 changed files with 13572 additions and 21 deletions
+33
View File
@@ -0,0 +1,33 @@
"""Журнал аудита: запись действий, изменяющих состояние."""
from __future__ import annotations
from typing import Any
from sqlmodel import Session
from app.models import AuditLog
def record(
session: Session,
*,
actor_id: int | None,
action: str,
entity_type: str,
entity_id: int | None = None,
payload: dict[str, Any] | None = None,
ip: str | None = None,
user_agent: str | None = None,
) -> None:
"""Добавляет запись аудита в сессию (commit — на стороне вызывающего)."""
session.add(
AuditLog(
actor_id=actor_id,
action=action,
entity_type=entity_type,
entity_id=entity_id,
payload=payload,
ip=ip,
user_agent=user_agent,
)
)