# -*- 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