Files
aza/AzA march 2026 - Kopie (2)/workforce_planner/api/audit.py

36 lines
827 B
Python
Raw Normal View History

2026-03-25 13:42:48 +01:00
# -*- coding: utf-8 -*-
"""Audit-Logging zeichnet alle schreibenden Aktionen auf."""
from sqlalchemy.orm import Session
from ..core.models import AuditLog
def log_action(
db: Session,
*,
user_id: str | None,
action: str,
entity_type: str,
entity_id: str | None = None,
practice_id: str | None = None,
old_values: dict | None = None,
new_values: dict | None = None,
ip_address: str | None = None,
user_agent: str | None = None,
):
entry = AuditLog(
user_id=user_id,
action=action,
entity_type=entity_type,
entity_id=entity_id,
practice_id=practice_id,
old_values=old_values,
new_values=new_values,
ip_address=ip_address,
user_agent=user_agent,
)
db.add(entry)
db.flush()
return entry