Files
site/apps/api/app/modules/zootech/lab/commands/write_audit.py
T
2026-07-17 12:57:18 +03:00

44 lines
979 B
Python

from __future__ import annotations
import json
import logging
from typing import Any
_log = logging.getLogger("app.lab.audit")
def write_audit(
action: str,
entity_type: str,
entity_id: str | None,
user_id: str | None = None,
metadata: dict[str, Any] | None = None,
) -> None:
_log.info(
"lab action=%s entity=%s/%s user=%s metadata=%s",
action,
entity_type,
entity_id,
user_id or "system",
json.dumps(metadata or {}, ensure_ascii=False),
)
def write_calculation_run(
recipe_id: str,
status: str,
kpi_results: dict[str, Any],
*,
duration_ms: int | None = None,
error_message: str | None = None,
) -> None:
_log.info(
"lab calculation recipe=%s status=%s duration_ms=%s engine=%s error=%s kpi=%s",
recipe_id,
status,
duration_ms,
"native-1",
error_message or "",
json.dumps(kpi_results, ensure_ascii=False),
)